检查是否未定义始终计算结果为true

时间:2015-04-15 08:08:14

标签: javascript

我有以下Javascript

 var array = $('#calendar').fullCalendar('clientEvents');
    var newArray = [];
    array.forEach(function(entry) {
        if (entry.description != undefined) {
            newArray.push(entry);
        }
    });

我有一个数组填充了一些对象,其中一些有描述,有些没有 - 我想过滤那些没有。

我的问题是if语句总是评估为真,无论描述是否未定义

enter image description here

从屏幕截图中可以看出 - entry.description未定义,但它仍然将其推送到数组。

我做错了什么?

更新

它似乎与原始代码一样正常工作 - 在firefox重新启动后:S 我相信它可能是一个firefox调试器问题。 无论如何,谢谢大家的帮助 - 如果您有任何要添加的内容,请随时评论实际代码

2 个答案:

答案 0 :(得分:1)

试试这个:

if ( typeof entry.description != "undefined" ) {
   //code if not undefined
}

答案 1 :(得分:1)

尝试hasOwnProperty

if(entry.hasOwnProperty("description ")){
  //you code
}