2016-04-07 18 views
0

我試圖跳過一行代碼,如果沒有什麼可做的。但是,我收到錯誤:TypeError: _.pairs(...)[0] is undefined。爲什麼我仍然收到這個錯誤?功能conditionalFilter應該跳過,如果它是undefinedJavascript/Underscore不會跳過未定義的結果

代碼:

conditionalFilter(_.pairs(_.pairs(_.pairs(d.nodes[0].children)[0][1].children)[0][1].children)[0][1].dimension, d.dimension.name, d.name)

功能:

function conditionalFilter(check, dim, filter){ 
if (check != "undefined") { 
    myFunction(check, dim, filter); 
} else {} 
} 

如果它的確與衆不同,錯誤就行拋出conditionalFilter(_.pairs...)

+1

我認爲這個問題是你只是缺少一個'typeof',並比較對字符串'變量undefined' – Katana314

+0

@ Katana314感謝您的輸入。不幸的是,'(typeof(check)!=「undefined」)拋出相同的錯誤 – As3adTintin

+0

@ Katana314是正確的。另外,如果'check'可以是其他的falsy值(例如false,0等)並且你仍然不想處理,那麼你可以說'if(check){myFunction ...' – Paul

回答

0

您需要關閉未定義的報價,

你現在要檢查它作爲一個字符串的方式:

function conditionalFilter(check, dim, filter){ 
if (check != undefined) { 
    myFunction(check, dim, filter); 
} else {} 
}