js 数组对象的拿值
原始数据:
let arr= {
1: {
lists: {
2020: {count: 0, year: 2020 },
2021: {count: 3, year: 2021 },
2022: {count: 2, year: 2022 },
2023: {count: 1, year: 2023 },
},
name: '数据1',
},
2: {
lists: {
2020: {count: 1, year: 2020 },
2021: {count: 2, year: 2021 },
2022: {count: 3, year: 2022 },
2023: {count: 4, year: 2023 },
},
name: '数据2',
},
3: {
lists: {
2020: {count: 3, year: 2020 },
2021: {count: 2, year: 2021 },
2022: {count: 3, year: 2022 },
2023: {count: 4, year: 2023 },
},
name: '数据3',
}
}
这是后端返回的数据,前端需要处理数据let data1 =['数据1','数据2',''数据3]
这个我已经得到了,就是里面的lists数据还没处理好。
希望得到:
let data2 = ['2020','2021','2022','2023']
let data3 = ['0','3','2','1']
let data4 = ['1','2','3','4']
let data5 = ['3','2','3','4']
遍历对象我用了for in, 还有其他好一些的方式吗?
用了for in去处理,lists数据没处理好
我用了
let arrKey =[]
let year =[]
for(var i in arr) {
arrName.push(arr[i].typename)
for (var s in arr[i].lists) {
arrKey.push(arr[i].lists[s].count)
year.push(arr[i].lists[s].year)
}
}
得到: arrName:['数据1','数据2',''数据3] 这个数据是对的
arrKey 和 year 数据出现很多重复的