我的代码有一个元素数组,如下所示:
element: { fromX: { id: ... } , toX: { id: ... } }
要求是将所有 fromX
id 拉入一个数组,并将所有 toX
id 拉入另一个数组。
有几种不同的方法,
例如使用 foreach
、reduce
,分别迭代每个,但我正在寻找一种最佳的功能方法来通过一个映射返回两个数组?
最佳答案
const data=[{fromX:{id:1},toX:{id:2}},{fromX:{id:3},toX:{id:4}},{fromX:{id:5},toX:{id:6}},{fromX:{id:7},toX:{id:8}}]
const [fromX,toX] = data.reduce(([a,b], {fromX,toX})=>{
a.push(fromX.id);
b.push(toX.id);
return [a,b];
}, [[],[]]);
console.log(fromX);
console.log(toX);
关于javascript - 使用 "map"函数返回多个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54201304/