我正在嘗試在javascript中添加兩個數組的值。 [1,2,1] + [3,2,3,4]在Javascript中,如何避免在添加數組時添加NaN
答案應該是4,4,4,4,但我要麼4,4,4或4,4,4, NaN如果我將第一個數組長度更改爲4.
我知道第四個數字需要在第一個數組中,但我無法弄清楚如何告訴javascript使其0,而不是如果沒有數。
我正在嘗試在javascript中添加兩個數組的值。 [1,2,1] + [3,2,3,4]在Javascript中,如何避免在添加數組時添加NaN
答案應該是4,4,4,4,但我要麼4,4,4或4,4,4, NaN如果我將第一個數組長度更改爲4.
我知道第四個數字需要在第一個數組中,但我無法弄清楚如何告訴javascript使其0,而不是如果沒有數。
(array1[3] || 0) + (array2[3] || 0)
使用isNaN
,保證值不會算術運算評估爲NaN
。
這將安全地添加兩個數字,例如,如果其中一人是不是一個數字,它將被0
var c = (isNaN(a) ? 0 : a) + (isNaN(b) ? 0 : b);
如果您懷疑A或B可能是一個字符串,而不是數量取代("2"
而不是2
),則必須在添加它之前將其轉換爲數字。你可以使用Unary +
來做到這一點。
var c = (isNaN(a) ? 0 : +a) + (isNaN(b) ? 0 : +b);
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
活泉,一元正轉換爲數字,真棒! – akuhn 2009-12-11 00:45:25