在Javascript中,根据indexOf的位置拆分数组并组合成单独的数组

Split arrays and combine into separate arrays based on indexOf position in Javascript

本文关键字:数组 Javascript 组合 单独 拆分 位置 根据 indexOf      更新时间:2023-09-26

如何遍历多个数组,例如;

array1 = [ "1", "2", "3" ];
array2 = [ "a", "b", "c" ];
array3 = [ "apples", "bananas", "cheese" ];

根据索引位置连接回一系列数组,如下所示:

result1 = [ "1", "a", "apples" ];
result2 = [ "2", "b", "bananas" ];
result3 = [ "3", "c", "cheese" ];

提前感谢!

将它们一起映射到一个临时数组,然后将它们赋值给原始变量(fiddle):

var array1 = [ "1", "2", "3" ];
var array2 = [ "a", "b", "c" ];
var array3 = [ "apples", "bananas", "cheese" ];
var temp = array1.map(function(value1, index) {
return [value1, array2[index], array3[index]];
});
array1 = temp[0];
array2 = temp[1];
array3 = temp[2];

任意长度的解决方案,添加另一个数组,如array4,或使用不同长度的数组:

var array1 = ["1", "2", "3"],
    array2 = ["a", "b", "c"],
    array3 = ["apples", "bananas", "cheese"],
    result = [array1, array2, array3].reduce(function (r, a) {
        a.forEach(function (b, j) {
            !(j in r) && r.push([]);
            r[j].push(b);
        });
        return r;
    }, []);
document.write('<pre>' + JSON.stringify(result, 0, 4) + '</pre>');