对象数组根据对象的KEY生成新数组
对象数组,根据对象的不同KEY生成新数组,
如把 [{name: 'toy', age: 20},{name: 'jim', age: 30},{name: 'sam', age: '25}]
转成
{name: ['toy', 'jim', 'sam'], age: [20, 30, 25]}
分析:首先循环遍历数组,取得对象后获取key,再将key添加到新的obj内(注意添加的使用需要判断obj内是否已存在相同key 不要重复添加key),最后将key对应的value值push到对应key的数组内。
let newArr = chartData.reduce((obj, cur) => { Object.keys(cur).map((item) => { if (!obj[item]) { obj[item] = [cur[item]] } else { obj[item].push(cur[item]) } }) return obj }, {})