Javascript 如果对象的键为false,则筛选数组
您好,我有一个小问题,我正在过滤对象上的json,但实际上,您可能会猜到它不起作用,您能告诉我我做错了什么吗Javascript 如果对象的键为false,则筛选数组,javascript,arrays,filter,Javascript,Arrays,Filter,您好,我有一个小问题,我正在过滤对象上的json,但实际上,您可能会猜到它不起作用,您能告诉我我做错了什么吗 global.selection.Data.Options.filter(function (optionItem) { return optionItem.hidden === false }) Json: options : [0 : {name: "some name", hidden:false}] 您正在使用==与字符串'false'进行特定于类型的比较,但实际上数组中有
global.selection.Data.Options.filter(function (optionItem) {
return optionItem.hidden === false })
Json:
options : [0 : {name: "some name", hidden:false}]
您正在使用
==
与字符串'false'
进行特定于类型的比较,但实际上数组中有一个基本布尔值false
改为与基本布尔值匹配(
hidden==false
)。尝试执行optionItem.hidden==false
或optionItem.hidden==false
。由于'false'是非空字符串,因此它在javascript中是真实的 returnoptionItem.hidden==false
,它不是jsonreturn中的字符串!optionItem.hidden
?事实上,我有===false,但不起作用,我也有一个字符串,因为我甚至尝试了stiuped的东西,或者只是!optionItem.hidden
。它将匹配任何“错误”(例如未定义的,空的,0
,,”
),这可能是或可能不是想要的行为。或者只是!optionItem.hidden
。