助教说,通过使用“ return”,我只需要检查四列中的一列,而我需要检查所有四列。我该怎么办?
到目前为止,这是我的代码...
function colCheck(arr) {
for (var i = 0; i < arr.length; i++){
if(singleColCheck(arr,i) == true){
return true;
}
else{
return false;
}
}
}
它需要返回一个布尔值false,它已经这样做了,但是我需要确保它检查所有四个列
答案 0 :(得分:0)
如果您只想在所有条件都为true时返回true,那么如果发现一个为false则可以返回false。否则,在函数末尾返回true。
function colCheck(arr) {
for (var i = 0; i < arr.length; i++) {
if (!singleColCheck(arr, i)) return false;
}
return true;
}
您也可以使用Array.prototype.every
或Array.prototype.indexOf
代替执行循环检查。
function colCheck(arr) {
return arr.every(function (val, i) { return singleColCheck(arr, i); });
}
function colCheck(arr) {
return arr.indexOf(function (val, i) { return !singleColCheck(arr, i); }) === -1;
}