이 부울 비교는 항상 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] .name을) ==
배열 요소를 반복 할 때'for ... in'을 사용하지 마십시오. 대신에'for' 루프를 사용하십시오. –
코드에서 실제 비교는 어디입니까? – FabioCosta
@FabioCosta :'console.log' 줄에서'fields [x] .name == false'와'fields [x] .name'입니다. –