Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 角度-展平相同类型对象的数组_Javascript_Angular_Flatten - Fatal编程技术网

Javascript 角度-展平相同类型对象的数组

Javascript 角度-展平相同类型对象的数组,javascript,angular,flatten,Javascript,Angular,Flatten,展平具有此类型接口的对象数组的最干净方法是什么: Interface { Item: Item, SubItems: Array<Item> } 最终结果应该是所有这些相同类型对象的单个数组,并按如下顺序排列: first object -> Item -> SubItems second object -> Item -> SubItems 因此,在我的示例中,我应该有: flattenedArray = [{id: "bla1"}, {id: "b

展平具有此类型接口的对象数组的最干净方法是什么:

Interface {
 Item: Item,
 SubItems: Array<Item>
}
最终结果应该是所有这些相同类型对象的单个数组,并按如下顺序排列:

first object -> Item -> SubItems
second object -> Item -> SubItems
因此,在我的示例中,我应该有:

flattenedArray = [{id: "bla1"}, {id: "bla2"}, {id: "bla3"}, {id: "bla4"}, ...]

很好用,你能帮我解释一下缩小部分吗?我读了它的功能,但老实说,我并没有完全理解它!感谢answerreduce对数组进行迭代,并执行一个特殊函数,该函数接受一个累加器并返回一个新的累加器,该累加器将传递给下一个函数执行。你所要做的就是用…acc复制以前的值,并用…cur添加新的值,这可能是读取该线程的副本,但我在这里给出的答案似乎更干净、更优雅!
flattenedArray = [{id: "bla1"}, {id: "bla2"}, {id: "bla3"}, {id: "bla4"}, ...]
myArray.map(val => [val.Item, ...val.SubItems]).reduce((acc, cur) => [...acc, ...cur])