簡體   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