Maison > Article > développement back-end > javascript数组合并
<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>