2015-04-15 40 views
0

我有以下的Javascript檢查,如果不總是不確定的計算結果爲真

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

我有一個數組填充物,其中一些具有描述和一些不 - 我想篩選出那些確實不。

我的問題是,如果語句始終計算爲真不管描述未定義或不

enter image description here

正如你從截圖中可以看到 - entry.description是不確定的,但它仍然將其推送到陣列。

我在做什麼錯?

更新

這似乎是工作的打算與原來的代碼 - 一個Firefox重新啓動後:S 我認爲這可能是一個Firefox的調試問題。 謝謝大家對你的好意幫助 - 隨時,如果你還有什麼要補充,雖然

+1

最有可能沒有 - 你有這個案例的樣本數組?另外,你正在用你的'newArray'和'forEach'實現一個粗略的'Array.prototype.filter' - 考慮使用它。 – Sacho

+0

我必須問,只是要確定:您的全局未定義變量仍未定義?:) – doldt

+0

@Sacho使用什麼呢? undefined是ecmascript.js的一部分 - 但肯定:) 似乎是現在的工作 - 我認爲這是一個Firefox的調試問題 - 不顯示正確的數據 – VisualBean

回答

1

試試這一個實際的代碼塊評論:

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

嘗試hasOwnProperty

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