遍历嵌套的对象数组



我有这个对象

var arr = {
specss: [{
moe: 1,
spec: [{
specID: 4,
cat: [{
catID: 6,
}],
},
{
specID: 11,
cat: [{
catID: 7,
}],
}],
}],
};

我正设法把它简化成更简单的形式。

我尝试遍历它们,但我总是得到spec中的第一个项目而不是

中的所有项目这是我想要的输出

[{
moe: 1,
spec: [
{
specID: 4,
catID: 6,
},
{
specID: 11,
catID: 7,
},
],
}];

只需将arr更改为arr.specss,然后循环遍历结果数组的每个spec,将第一个cat对象的.catID属性移动到spec对象中。这样的:

var arr = {
specss: [{
moe: 1,
spec: [{
specID: 4,
cat: [{
catID: 6,
}],
},
{
specID: 11,
cat: [{
catID: 7,
}],
}],
}],
};
arr = arr.specss;
for (const specs of arr) {
for (const spec of specs.spec) {
spec.catID = spec.cat[0].catID;
delete spec.cat;
}
}
console.log(arr)

最新更新