[英]javascript array merge based on indexes
我有一个数组,需要与相同的索引值合并,如 0 将变为['0','0','1','2']
例子:
0:
0: (2) ['0', '0']
1: (2) ['0', '0']
2: (2) ['0', '2']
1:
0: ['1']
1: ['2']
2: ['2']
2:
0: ['2']
1: ['2']
2: ['2']
试过了
var result = outterArray.reduce(function (a, b) {
return a.map(function (v, i) {
return [v] + b[i];
});
});
但得到
0: "0,012"
1: "0,022"
2: "0,222"
预期的 :
0: "[0,0,1,2]"
1: "[0,0,2,2]"
2: "[0,2,2,2]"
假设下面的数组,您可以映射内部数组并从累加器中获取相同索引或空数组的值。
const data= [ [['0', '0'], ['0', '0'], ['0', '2']], [['1'], ['2'], ['2']], [['2'], ['2'], ['2']] ], result = data.reduce((r, a) => a.map((v, i) => [...(r[i] || []), ...v]), []); console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.