Javascript 将同一对象数组中的多个数组组合在一起
我有这个对象数组Javascript 将同一对象数组中的多个数组组合在一起,javascript,arrays,Javascript,Arrays,我有这个对象数组 const line_items = [ { id: 1, components: [ { name: "nadia" }, { name: "tim" }, { name: "mark" }, { name: "alex" } ] }, { id: 1, components: [
const line_items = [
{
id: 1,
components: [
{ name: "nadia" },
{ name: "tim" },
{ name: "mark" },
{ name: "alex" }
]
}, {
id: 1,
components: [
{ name: "ramsey" }
]
}
];
我想将所有组件合并到一个阵列中。结果将是
[
{ name: "nadia" },
{ name: "tim" },
{ name: "mark" },
{ name: "alex" },
{ name: "ramsey" }
]
我的尝试
函数prettyobj{return JSON.stringifyobj,null,2}
常量行\u项=[
{
id:1,
组成部分:[
{姓名:nadia},
{姓名:蒂姆},
{name:mark},
{姓名:alex}
]
}, {
id:1,
组成部分:[
{姓名:拉姆齐}
]
}
];
const all_components=行项目;
console.LogPretty所有组件 您可以使用IE/Edge不支持的Array.flatMap:
const line_items=[{id:1,组件:[{name:nadia},{name:tim},{name:mark},{name:alex}]},{id:1,组件:[{{name:ramsey}]}];
const all_components=line_items.flatmap=>o.components;
console.LogPretty所有组件;
函数prettyobj{return JSON.stringifyobj,null,2}您可以使用Rest参数使用组件并将其传递给用户
常量行\u项=[
{
id:1,
组成部分:[
{姓名:nadia},
{姓名:蒂姆},
{name:mark},
{姓名:alex}
]
}, {
id:1,
组成部分:[
{姓名:拉姆齐}
]
}
];
让allcomps=line\u items.reduceac,a=>ac.concat…a.components,[]
console.logallcomps您可以使用减少项目 常数 行_items=[{id:1,组件:[{name:nadia},{name:tim},{name:mark},{name:alex}]},{id:1,组件:[{{name:ramsey}]}, 结果=行_items.reducer,{components}=>[…r,…components]; console.logresult; .as控制台包装{max height:100%!important;top:0;}您可以用于此
const line_items = [
{
id: 1,
components: [
{ name: "nadia" },
{ name: "tim" },
{ name: "mark" },
{ name: "alex" }
]
}, {
id: 1,
components: [
{ name: "ramsey" }
]
}
];
var result = line_items.flatMap((i)=>{ return i['components'];});
console.log(result);