繁体   English   中英

基于索引的javascript数组合并

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM