Javascript Don';t类型为null的元素的push属性
如何仅将属性推送到类型不为null的数组? 我有以下代码:Javascript Don';t类型为null的元素的push属性,javascript,Javascript,如何仅将属性推送到类型不为null的数组? 我有以下代码: var array = []; var myImage = new Image(); for (var key in myImage) { if (typeof myImage[key] === null) { //code } } typeof null是对象。因此,您的条件总是false 检查如下: if(myImage[key]) // code 这将仅推送truthy元素 注 type
var array = [];
var myImage = new Image();
for (var key in myImage) {
if (typeof myImage[key] === null) {
//code
}
}
typeof null
是对象
。因此,您的条件总是false
检查如下:
if(myImage[key])
// code
这将仅推送truthy元素
注
typeof null//object(ECMAScript中的bug应为null)
确实是一种类型。但是,返回的对象为
相反,您可以使用:
请注意,使用严格的比较非常重要,因为未定义的
和空的
都被考虑在内,但不被考虑。到底什么不起作用?您能详细说明之间的区别吗=代码>和==代码>在这种情况下?==
避免类型转换:1=='1'
返回true
,而1=='1'
为false
。在JavaScript中,=
与“等同于”相同,而==
与“等同于”。反向版本的功能相同。这就是我从你那里得到的code@Revels图像中的错误不是由我的代码产生的。
var array = [],
myImage = new Image();
for (var key in myImage)
if (myImage[key] !== null)
array.push(myImage[key]);