JavaScript程序,用于计算任意两个数组的每个索引值的总和
示例:
array1 = [16,0,2,3,4];
array2 = [3,5,6,7,8,13];
预期产出:
[19, 5, 8, 10, 12, 13]
答案 0 :(得分:2)
假设这段代码:
var array1 = [16,0,2,3,4],
array2 = [3,5,6,7,8,13],
l = Math.max(array1.length, array2.length);
您可以尝试for
循环:
var result = Array(l);
for(var i=0; i<l; ++i) result[i] = (array1[i] || 0) + (array2[i] || 0);
答案 1 :(得分:0)
编辑,更新。
为测试数组_len
,a
添加了函数b
,以获取最高length
属性i
和最少length
属性j
两个参数数组之间。
阵列a
,b
可以按任意顺序输入_len
。输入数组i
在两个输入数组之间具有最大length
属性,调用Array.prototype.map()。
返回数组array3
,将i
的每个成员添加到相应j
索引的k
的每个成员;如果i
k
索引成员,则返回j
成员
var array1 = [16,0,2,3,4]
, array2 = [3,5,6,7,8,13]
, len = array1.length
, array3 = (function _len(a, b) {
var i = a.length > b.length ? a : b
, j = i === a ? b : a;
return i.map(function(v, k) {
return v + j[k] || v
});
}(array1, array2))
var array1 = [16,0,2,3,4]
, array2 = [3,5,6,7,8,13]
, len = array1.length
, array3 = (function _len(a, b) {
var i = a.length > b.length ? a : b
, j = i === a ? b : a;
return i.map(function(v, k) {
return v + j[k] || v
});
}(array1, array2))
console.log(array3);
document.write(array3)
答案 2 :(得分:0)
您也可以使用纯JavaScript。
var array1 = [16,0,2,3,1];
var array2 = [3,5,6,7,8,13];
var array3 = [];
if (array1.length >= array2.length)
{
array3 = array1.map(function(num, i, array) {
return num + (array2[i] || 0);
});
}else{
array3 = array2.map(function(num, i, array) {
return num + (array1[i] || 0);
});
}
document.getElementById("result").innerHTML = "array3: " + array3.toString();
&#13;
<div id="result"></div>
&#13;