求下面数组中可以转成数字的数据?
var arr=[-27, 'kaivon', 6-'20%', [], -5900, '800km', function(){alert('小明');}, , 'xyz'-90,
null, 66, document, [], true, '198px'-30, '49.9元', 5, function(){alert(3);}, Number('abc')];
for(var i=0;i<arr.length;i++){
if(parseFloat(arr[i])){ //这里有两个步骤:1.arr里的所有数据转成数字, 这里是显示类型转换
2.在把转换后的数据用布尔值的方法转成布尔值,这里是隐性类型转换
console.log(arr[i]); -27,-5900,800km,66,49.9元,5,
}
}
}
parseFloat() 把字符串转成浮点型(小数)数字
注意:传进来的字符串必需是数字或者空格加数字开头,它会从数字开始,一位一位往后找,直到找到的字符不是数字就会停止,会把找到的数字字符转成真正的数字。如果没找到那就返回一个NaN
任意类型转布尔值
Boolean(要转换的值)
1丶Undefined转布尔值
false
2丶Null转布尔值
false
3丶Number转布尔值
0丶NaN转布尔值的结果为false,其他的转布尔值的结果为true
4丶Boolean转转布尔值
转为对应的值
5丶String转布尔值
空字符串转布尔值的结果为false,其他(包括空格字符串)的都转成true
6丶Object转布尔值