此布爾比較總是返回false,但它在我的getColumnsFunction()中比較false == false。它應該回歸真實,我不知道爲什麼。下面是代碼:JavaScript布爾比較總是失敗
function getModelColumns(exlude, modelName){
var model = Ext.ModelManager.getModel(modelName).create();
var fields = model.fields.items;
for(var x in fields){
console.log(inArray(exlude, fields[x].name == false),
'boolean_compare',
inArray(exlude, fields[x].name));
}
}
function inArray(arr,val){
for(var x in arr){
if(arr[x] === val)
return true;
}
return false;
}
以下是在執行console.log()用於循環在各個領域:
false "boolean_compare" false
他們都等於假,爲什麼他們到底這是否布爾比較返回false?
編輯:忘了「(」它應該是inArray(exlude,字段[X]。名稱)==假
不要使用'for ... in'來迭代數組元素。改爲使用常規的'for'循環。 –
代碼中的實際比較在哪裏? – FabioCosta
@FabioCosta:在'console.log'行:'fields [x] .name == false'和'fields [x] .name'。 –