我有一个包含多个对象的数组。在这个数组中,每个对象都有两个或多个子对象。我想将所有子对象组合成一个数据数组。 javascript怎么办?
var array1 = [
{
"dfgasg24":{
name:"a",
id:1
},
"dfgare24":{
name:"b",
id:2
}
},
{
"wegasg24":{
name:"ab",
id:76
},
"yugasg24":{
name:"bc",
id:34
},
"yugasg26":{
name:"dc",
id:45
}
}
]
我想要这样的输出,
var result = [
{
name:"a",
id:1
},
{
name:"b",
id:2
},
{
name:"ab",
id:76
},
{
name:"bc",
id:34
},
{
name:"dc",
id:45
}
];
最佳答案
您可以使用迭代数组和键的组合方法来构建平面数组。
var array = [{ "dfgasg24": { name: "a", id: 1 }, "dfgare24": { name: "b", id: 2 } }, { "wegasg24": { name: "ab", id: 76 }, "yugasg24": { name: "bc", id: 34 }, "yugasg26": { name: "dc", id: 45 } }],
result = array.reduce(function (r, o) {
Object.keys(o).forEach(function (k) {
r.push(o[k]);
});
return r;
}, []);
console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }
关于javascript - 如何将嵌套对象转换为javascript中的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41427699/