-1

助教说,用“return”我只检查四列中的一列,当我需要检查所有四列时。我该怎么做?

到目前为止,这是我的代码...

function colCheck(arr) {
    for (var i = 0; i < arr.length; i++){
        if(singleColCheck(arr,i) == true){
            return true; 
        }
        else{
            return false;
        }
    }
}

它需要返回一个布尔值 false,它已经这样做了,但我需要确保它检查所有四列

4

1 回答 1

0

如果你只想在它们都为真时返回真,那么如果你找到一个为假的,你可以返回假。否则在函数结束时返回 true。

function colCheck(arr) {
    for (var i = 0; i < arr.length; i++) {
        if (!singleColCheck(arr, i)) return false;
    }
    return true;
}

您也可以使用Array.prototype.everyorArray.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;
}
于 2019-02-14T11:00:15.943 回答