我怎样才能得到下面的数组中的数字

问题描述:

我想从这个数组中获得只有数字的警报,但不能!在此先感谢我怎样才能得到下面的数组中的数字

var clenk = [0, null, 42, undefined, "", true, false, NaN, "", "foo bar"]; 
var filteredArr = clenk.filter(function(val) { 
return !(val === isNaN); 
}); 
alert(filteredArr); 

您可以尝试

var clenk = [0, null, 42, undefined, "", true, false, NaN, "", "foo bar"]; 
 
var filteredArr = clenk.filter(function(val) { 
 
    return !isNaN(parseFloat(val)); 
 
}); 
 
alert(filteredArr);

+0

辉煌。欢呼声 – user2678132

使用typeof运营商检测val类型。

var clenk = [0, null, 42, undefined, "", true, false, NaN, "", "foo bar"]; 
var filteredArr = clenk.filter(function(val) { 
    return (typeof val === "number" && !isNaN(val)); 
}); 
alert(filteredArr); 
+0

欢呼,作品一种享受。只是想知道为什么我需要“号码”在那里? – user2678132

+0

,因为isNaN将变量转换为数字,然后检查它是否为NaN.so'isNaN('32');'将返回false您传递的字符串不是数字 –