このブール比較は常に false を返しますが、getColumnsFunction() で false == false を比較しています。true が返されるはずですが、その理由はわかりません。コードは次のとおりです。
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;
}
for ループ内のすべてのフィールドの console.log() の内容は次のとおりです。
false "boolean_compare" false
それらは両方ともfalseに等しいのですが、なぜそのブール値の比較がfalseを返すのでしょうか?
編集: '(' を忘れました inArray(exlude, fields[x].name ) == false である必要があります