>  기사  >  백엔드 개발  >  javascript数组合并

javascript数组合并

WBOY
WBOY원래의
2016-06-06 20:31:52993검색

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

</code>

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

回复内容:

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

</code>

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

<code>js</code><code>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 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();
}));
</code>

<code>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);</code>
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.