废话不多说, 先上例子, 如下:
mdata: [
{ a: 0.0, b: 0.0, c: 0.0, d: 0.0, e: 0.0, f: 0.0, g: 0.0 },
{ a: 1.0, b: 0.0, c: 0.0, d: 0.0, e: 0.0, f: 0.0, g: 0.0 },
{ a: 2.0, b: 0.0, c: 0.0, d: 0.0, e: 0.0, f: 0.0, g: 0.0 },
{ a: 3.0, b: 0.0, c: 0.0, d: 0.0, e: 0.0, f: 0.0, g: 0.0 },
{ a: 4.0, b: 0.0, c: 0.0, d: 0.0, e: 0.0, f: 0.0, g: 0.0 }
]
将以上代码转换成对象格式, 如下:
data: {
a: [0, 1, 2, 3, 4],
b: [0, 0, 0, 0, 0],
c: [0, 0, 0, 0, 0],
d: [0, 0, 0, 0, 0],
e: [0, 0, 0, 0, 0],
f: [0, 0, 0, 0, 0],
g: [0, 0, 0, 0, 0]
}
实现:
const newArr = this.mdata.reduce((obj, cur, index) => {
Object.keys(cur).map((item) => {
if (!obj[item]) {
obj[item] = [cur[item]]
} else {
obj[item].push(cur[item])
}
})
return obj
}, {})
console.log(newArr)
结果: