我有以下数组
const arr = [
{
Images: [{ id: 1 }, { id: 2 }, { id: 3 }],
MediaCategoryName: "Exterior",
id: 51
},
{
Images: [{ id: 7 }, { id: 8 }, { id: 9 }],
MediaCategoryName: "Construction",
id: 687
},
{
Images: [{ id: 10 }, { id: 11 }, { id: 21 }],
MediaCategoryName: "home",
id: 755
}
];
Run Code Online (Sandbox Code Playgroud)
我如何从它们创建新数组并仅放置Images?
我需要这样的东西
newArr = [ { id: 1 }, { id: 2 }, { id: 3 }, { id: 7 }, { id: 8 }
, { id: 9 }, { id: 10 }, { id: 11 }, { id: 21 }
]
Run Code Online (Sandbox Code Playgroud)
有人可以帮助我实现这一目标吗?
谢谢 :)
使用Array.prototype.flatMap()
就像做一个 map 返回图像,然后再执行一个 flat
const arr =
[ { Images: [{ id: 1}, {id: 2}, {id: 3 }] , MediaCategoryName: 'Exterior', id: 51 }
, { Images: [{ id: 7}, {id: 8}, {id: 9 }] , MediaCategoryName: 'Construction', id: 687 }
, { Images: [{ id: 10}, {id: 11}, {id: 21 }] , MediaCategoryName: 'home', id: 755 }
];
const res = arr.flatMap(({Images}) => Images)
console.log(JSON.stringify(res))Run Code Online (Sandbox Code Playgroud)
.as-console-wrapper {max-height: 100% !important;top: 0;}
.as-console-row::after {display: none !important;}Run Code Online (Sandbox Code Playgroud)