首页 > 解决方案 > 如何在javascript中获取子数组的元素数组

问题描述

我有一个对象数组

[
{name: 'hello', children: [{name: 'a'}, {name: 'b'}], 
{name: 'world', children: [{name: 'c'}, {name: 'd'}],
]

使用数组方法将这个数组变成这个数组的最有效方法是什么?

[{name: 'a'}, {name: 'b'}, {name: 'c'}, {name: 'd'}]

我试过使用 map 和 filter 但子元素仍然是块。提前致谢。

标签: javascriptarraysdictionary

解决方案


您可以使用reduce解构数组来实现此结果。

const arr = [
  { name: "hello", children: [{ name: "a" }, { name: "b" }] },
  { name: "world", children: [{ name: "c" }, { name: "d" }] },
];

const result = arr.reduce((acc, { children }) => {
  return [...acc, ...children];
}, []);

console.log(result);


推荐阅读