欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

javascript数组合并

程序员文章站 2022-05-15 10:47:36
...
php  var arr = [[8,2],[9,1],[10,0]];
  var arr2 = [[8,5],[9,1],[10,4]];
  var arr3 = [[8,8],[9,8],[10,1]];

3个数组结构一样,而且里面的一维数组第一个值相同,怎么把3个数组按照一维数组第一个值合并成
arr4 = [[8,15],[9,10],[10,5]]//15=2+5+8
ps:用php的数组也可以

回复内容:

php  var arr = [[8,2],[9,1],[10,0]];
  var arr2 = [[8,5],[9,1],[10,4]];
  var arr3 = [[8,8],[9,8],[10,1]];

3个数组结构一样,而且里面的一维数组第一个值相同,怎么把3个数组按照一维数组第一个值合并成
arr4 = [[8,15],[9,10],[10,5]]//15=2+5+8
ps:用php的数组也可以

jsvar arr = [[8,2],[9,1],[10,0]];
var arr2 = [[8,5],[9,1],[10,4]];
var arr3 = [[8,8],[9,8],[10,1]];

var result = [[[], [], []], arr, arr2, arr3].reduce(function(r, t) {
    r.forEach(function(rt, i) {
        rt[0] = rt[0] || t[i][0]
        rt[1] = (rt[1] || 0) + t[i][1]
    });

    return r;
});

console.log(result.map(function(token) {
    return token.toString();
}));

var arr = [[8,2],[9,1],[10,0]];
var arr2 = [[8,5],[9,1],[10,4]];
var arr3 = [[8,8],[9,8],[10,1]];
var ret = [];
arr.forEach(function(item, i){
    var r = [];
    r[0] = item[0];
    r[1] = arr[i][1] + arr2[i][1] + arr3[i][1];
    ret.push(r);
});
console.log(ret);
相关标签: javascript php