如何在javascript中添加数组元素?
how to add array elements in javascript?
我可以在使用parseInt()将它们转换为数字后添加包括NaN在内的元素吗???
这是我的代码:
var a = parseInt("10"); //returns 10
var b = parseInt("10.00"); //returns 10
var c = parseInt("10.33"); //returns 10
var d = parseInt("34 45 66") ; //returns 34
var e = parseInt(" ") ; //returns NaN
var f = parseInt("40 years"); //returns 40
var g = parseInt("He was 40"); //returns NaN
var n = a + b + c + d + e + f + g;
document.write( n);
这个 return 是 NaN。我怎样才能做到 return 104?
使用自定义的 parseInt 函数
function tryParseInt(str) {
var result = parseInt(str);
if(isNaN(result))
result = 0;
return result;
}
var e = tryParseInt(" ") ; //returns 0
您可以检查值然后添加。
var n = 0;
if(!isNan(a))
n = n+a;
if(!isNan(b))
n = n+b;
或者您可以创建一个自定义方法来验证这个 isNan。
var k = [];
k.push(a);
k.push(b);
k.push(c);
var total = 0;
var l = k.filter(function(n){ if(!isNaN(n)) return n;});
$.each(l,function() {
total += this;
});
如果你很在意总和,可以在添加前检查NaN
,用这个小技巧:
var n = (a || 0) +
(b || 0) +
(c || 0) +
(d || 0) +
(e || 0) +
(f || 0) +
(g || 0);
console.log(n);
首先,要获得结果 104,这是一种简单的方法,让我们定义一个解析 Integer 和 returns int 值或 0
[=17= 的函数]
parseInteger = function (number) {
return parseInt(number) || 0;
}
所以你的代码将是这样的:
var a = parseInteger("10");
var b = parseInteger("10.00");
var c = parseInteger("10.33");
var d = parseInteger("34 45 66") ;
var e = parseInteger(" ") ;
var f = parseInteger("40 years");
var g = parseInteger("He was 40");
var n = a + b + c + d + e + f + g;
document.write(n);
它仍然 returns 104
然而,要使用and数组,你需要做的就是使用文字语法
var n = [a,b,c,d,e,f,g];
或者你可以使用数组的push方法
var myArray = [];
myArray.push(a,b,c,d,e,f,g);
然后你需要循环你的数组来得到结果:
result = 0;
for (index in myArray) {
result += myArray[index];
}
// result contains 104
var variable = isNaN(parseInt(value)) ? 104 : parseInt(value);
我可以在使用parseInt()将它们转换为数字后添加包括NaN在内的元素吗???
这是我的代码:
var a = parseInt("10"); //returns 10
var b = parseInt("10.00"); //returns 10
var c = parseInt("10.33"); //returns 10
var d = parseInt("34 45 66") ; //returns 34
var e = parseInt(" ") ; //returns NaN
var f = parseInt("40 years"); //returns 40
var g = parseInt("He was 40"); //returns NaN
var n = a + b + c + d + e + f + g;
document.write( n);
这个 return 是 NaN。我怎样才能做到 return 104?
使用自定义的 parseInt 函数
function tryParseInt(str) {
var result = parseInt(str);
if(isNaN(result))
result = 0;
return result;
}
var e = tryParseInt(" ") ; //returns 0
您可以检查值然后添加。 var n = 0;
if(!isNan(a))
n = n+a;
if(!isNan(b))
n = n+b;
或者您可以创建一个自定义方法来验证这个 isNan。
var k = [];
k.push(a);
k.push(b);
k.push(c);
var total = 0;
var l = k.filter(function(n){ if(!isNaN(n)) return n;});
$.each(l,function() {
total += this;
});
如果你很在意总和,可以在添加前检查NaN
,用这个小技巧:
var n = (a || 0) +
(b || 0) +
(c || 0) +
(d || 0) +
(e || 0) +
(f || 0) +
(g || 0);
console.log(n);
首先,要获得结果 104,这是一种简单的方法,让我们定义一个解析 Integer 和 returns int 值或 0
[=17= 的函数]
parseInteger = function (number) {
return parseInt(number) || 0;
}
所以你的代码将是这样的:
var a = parseInteger("10");
var b = parseInteger("10.00");
var c = parseInteger("10.33");
var d = parseInteger("34 45 66") ;
var e = parseInteger(" ") ;
var f = parseInteger("40 years");
var g = parseInteger("He was 40");
var n = a + b + c + d + e + f + g;
document.write(n);
它仍然 returns 104
然而,要使用and数组,你需要做的就是使用文字语法
var n = [a,b,c,d,e,f,g];
或者你可以使用数组的push方法
var myArray = [];
myArray.push(a,b,c,d,e,f,g);
然后你需要循环你的数组来得到结果:
result = 0;
for (index in myArray) {
result += myArray[index];
}
// result contains 104
var variable = isNaN(parseInt(value)) ? 104 : parseInt(value);