我有以下Javascript
var array = $('#calendar').fullCalendar('clientEvents');
var newArray = [];
array.forEach(function(entry) {
if (entry.description != undefined) {
newArray.push(entry);
}
});
我有一个数组填充了一些对象,其中一些有描述,有些没有 - 我想过滤那些没有。
我的问题是if语句总是评估为真,无论描述是否未定义
从屏幕截图中可以看出 - entry.description未定义,但它仍然将其推送到数组。
我做错了什么?
它似乎与原始代码一样正常工作 - 在firefox重新启动后:S 我相信它可能是一个firefox调试器问题。 无论如何,谢谢大家的帮助 - 如果您有任何要添加的内容,请随时评论实际代码
答案 0 :(得分:1)
试试这个:
if ( typeof entry.description != "undefined" ) {
//code if not undefined
}
答案 1 :(得分:1)
尝试hasOwnProperty
if(entry.hasOwnProperty("description ")){
//you code
}