我不知道为什么一旦放置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);
答案 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]
。