我想检查我的数组是否有 3 个连续的相同值。
例如
var arr = ["g", "z", "z", "z" ]; // Must be true
var arr = ["g", "z", "z", "v" ,"b", "b", "b"]; // Must be true
var arr = ["z", "g", "z", "z"]; // Must be false
我们如何检查它?
最佳答案
可能最高效的方法是仅迭代输入数组一次并计算连续相等元素的条纹。当找到足够长的序列时,立即返回 true。到达终点时,返回false。
function hasConsecutive(arr, amount) {
var last = null;
var count = 0;
for (var i = 0; i < arr.length; i++) {
if (arr[i] != last) {
last = arr[i];
count = 0;
}
count += 1;
if (amount <= count) {
return true;
}
}
return false;
}
console.log(hasConsecutive(["g", "z", "z", "z"], 3))
console.log(hasConsecutive(["g", "z", "z", "z"], 4))
关于javascript - 检查一行数组值中的 3 个是否相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43308817/