Home > Mobile >  Vuejs How to assign array object?
Vuejs How to assign array object?

Time:10-09

I have a response like below from an API call,

{
    "1-2021": [
        {
            "id": 1,
            "status": "New",
            "player_count": 7
        },
        {
            "id": 2,
            "status": "Verified",
            "player_count": 4
        },
        {
            "id": 3,
            "status": "Regitered ID",
            "player_count": 18
        },
        {
            "id": 4,
            "status": "On Playing",
            "player_count": 15
        },
        {
            "id": 5,
            "status": "Finished",
            "player_count": 9
        },
        {
            "id": 6,
            "status": "Active",
            "player_count": 10
        },
        {
            "id": 7,
            "status": "Inactive",
            "player_count": 0
        }
    ],
    "2-2021": [
        {
            "id": 1,
            "status": "New",
            "player_count": 3
        },
        {
            "id": 2,
            "status": "Verified",
            "player_count": 8
        },
        {
            "id": 3,
            "status": "Regitered ID",
            "player_count": 17
        },
        {
            "id": 4,
            "status": "On Playing",
            "player_count": 11
        },
        {
            "id": 5,
            "status": "Finished",
            "player_count": 7
        },
        {
            "id": 6,
            "status": "Active",
            "player_count": 6
        },
        {
            "id": 7,
            "status": "Inactive",
            "player_count": 0
        }
    ]
}

Then, I have to repeat the whole arrays inside the arrays. How do I do that in VueJS?

I have searched for using forEach.. nowhere I found forEach usage.

Can anyone help me on how to fetch the values from that arrays by using either forEach or any else(VueJS)?

I expected the outcome:

chartData: [
        ['Month', 'New', 'Verified', 'Regitered ID', 'On Playing', 'Finished', 'Active', 'Inactive'],
        ['January', 7, 4, 18, 15, 9, 10, 0],
        ['February', 16, 22, 23, 30, 16, 9, 8]
      ]

Thanks & Regards,

CodePudding user response:

Bro try this

let a = {
  "1-2021": [{
      "id": 1,
      "status": "New",
      "player_count": 7
    },
    {
      "id": 2,
      "status": "Verified",
      "player_count": 4
    },
    {
      "id": 3,
      "status": "Regitered ID",
      "player_count": 18
    },
    {
      "id": 4,
      "status": "On Playing",
      "player_count": 15
    },
    {
      "id": 5,
      "status": "Finished",
      "player_count": 9
    },
    {
      "id": 6,
      "status": "Active",
      "player_count": 10
    },
    {
      "id": 7,
      "status": "Inactive",
      "player_count": 0
    }
  ],
  "2-2021": [{
      "id": 1,
      "status": "New",
      "player_count": 3
    },
    {
      "id": 2,
      "status": "Verified",
      "player_count": 8
    },
    {
      "id": 3,
      "status": "Regitered ID",
      "player_count": 17
    },
    {
      "id": 4,
      "status": "On Playing",
      "player_count": 11
    },
    {
      "id": 5,
      "status": "Finished",
      "player_count": 7
    },
    {
      "id": 6,
      "status": "Active",
      "player_count": 6
    },
    {
      "id": 7,
      "status": "Inactive",
      "player_count": 0
    }
  ]
};

let ar = [];
let b = Object.keys(a).forEach((e, index) => {



  if (index == 0) {

    let b = a[e].map(r => r.status)

    b.unshift("Month")
    ar.push(b)
  }
  let a1 = [e]

  a[e].forEach(c => {



    a1.push(c.player_count)
    c.status

  })
  ar.push(a1)

})

console.log(ar)

  • Related