2017-09-01 44 views
0

嗨那裏我有小問題,我過濾我的JSON對象,但實際上你會猜測它不起作用,你能告訴我我做錯了什麼?過濾器陣列,如果對象有關鍵假

global.selection.Data.Options.filter(function (optionItem) { 
return optionItem.hidden === false }) 

JSON:

options : [0 : {name: "some name", hidden:false}] 
+1

'return optionItem.hidden === false',它不是json中的字符串 – Sajal

+2

'return!optionItem.hidden'? – scniro

回答

1

你正在做===對字符串'false'特定類型的比較,但實際上你有你的陣列中的原始布爾false

與原始布爾值相匹配(hidden === false)。

+0

其實我有===假,但沒有工作,我也有這個作爲一個字符串因爲我甚至試圖stiuped東西 –

+0

或只是'!optionItem.hidden'。 – Cerbrus

+0

這將會匹配任何「falsey」(如undefined,null,0,''''),這可能是也可能不是想要的行爲。 – jlaitio

0

試着做optionItem.hidden == falseoptionItem.hidden === false。由於'false'是一個非空字符串,因此它在javascript中是真的。

+0

或者只是'!optionItem.hidden'。 – Cerbrus