我正在尝试在javascript中添加两个数组的值,例如。[1,2,1] + [3,2,3,4]
答案应该是 4,4,4,4 但如果我将第一个数组长度更改为 4,我会得到 4,4,4 或 4,4,4,NaN。
我知道第 4 个数字需要在第一个数组中,但我不知道如何告诉 javascript 将其设为 0,而不是在没有数字时未定义。
我正在尝试在javascript中添加两个数组的值,例如。[1,2,1] + [3,2,3,4]
答案应该是 4,4,4,4 但如果我将第一个数组长度更改为 4,我会得到 4,4,4 或 4,4,4,NaN。
我知道第 4 个数字需要在第一个数组中,但我不知道如何告诉 javascript 将其设为 0,而不是在没有数字时未定义。
用于isNaN
确保值不会NaN
在算术运算中计算为。
这将安全地添加两个数字,如果其中一个不是数字,它将被 0 替换。
var c = (isNaN(a) ? 0 : a) + (isNaN(b) ? 0 : b);
如果您怀疑 a 或 b 可能是字符串而不是数字("2"
而不是2
),则必须在添加之前将其转换为数字。您可以使用一元+
来执行此操作。
var c = (isNaN(a) ? 0 : +a) + (isNaN(b) ? 0 : +b);
(array1[3] || 0) + (array2[3] || 0)
var a = [ 1, 2, 3, 4, 5 ];
var b = [ 2 , 3];
var c = [];
var maxi = Math.max(a.length, b.length);
for (var i = 0; i < maxi; i++) {
c.push( (a[i] || 0) + (b[i] || 0) );
}
[1,2,3] + [3,2,1]
在上面的示例中,JavaScript 无论如何都会将数组转换为字符串,因此结果是:
1,2,33,2,1