为什么继续使迭代停止?

时间:2019-06-24 19:51:43

标签: javascript arrays sorting

我不知道为什么一旦放置continue后迭代就会停止。如果我将continue替换为console.log(),则可以正常工作。我想做的是,如果所有元素都相同,则返回true,否则返回false

function isUniform(de) {
   for(var i=0;i<de.length;i++) {
       if (de.indexOf(de[i])===0) {
            continue;
        }
        else {
            return false
        }
    }
    return true;
}

arr =[1,1,1];
isUniform(arr);

1 个答案:

答案 0 :(得分:2)

如评论中所述,您的谓词有错别字:

de.indexOf(de[i]) === 0

此外,这可能更易于实现为:

let isUniform = arr => arr.every(a => a === arr[0])

console.log(isUniform([1, 1, 1, 1, 1]));
console.log(isUniform([1, 3, 1, 1, 1]));

用英语,这是在检查arr的每个元素是否等于arr[0]