二维对象数组如何根据里面得数组拆分成多条对象数组
时间: 2023-09-07 18:12:49 浏览: 87
绘图初步-MATLAB基础知识
可以使用JavaScript中的Array方法来实现二维对象数组根据里面的数组拆分成多条对象数组的操作。具体实现方式如下:
```javascript
// 定义一个二维对象数组
var twoDimArray = [
{id: 1, name: '张三', scores: [80, 90, 70]},
{id: 2, name: '李四', scores: [70, 80, 90]},
{id: 3, name: '王五', scores: [90, 80, 70]}
];
// 根据里面的数组拆分成多条对象数组
var oneDimArray = [];
for(var i = 0; i < twoDimArray.length; i++) {
for(var j = 0; j < twoDimArray[i].scores.length; j++) {
if(!oneDimArray[j]) {
oneDimArray[j] = [];
}
oneDimArray[j].push({
id: twoDimArray[i].id,
name: twoDimArray[i].name,
score: twoDimArray[i].scores[j]
});
}
}
console.log(oneDimArray); // 输出:[[{id: 1, name: '张三', score: 80}, {id: 2, name: '李四', score: 70}, {id: 3, name: '王五', score: 90}], [{id: 1, name: '张三', score: 90}, {id: 2, name: '李四', score: 80}, {id: 3, name: '王五', score: 80}], [{id: 1, name: '张三', score: 70}, {id: 2, name: '李四', score: 90}, {id: 3, name: '王五', score: 70}]]
```
其中,通过两个嵌套的`for`循环遍历二维对象数组,将里面的数组拆分成多条对象数组,最终得到的`oneDimArray`就是拆分后的结果。需要注意的是,在拆分后的对象数组中,我们新增了一个`score`属性,用于存储原始数组中对应的成绩。
阅读全文