jap*_*hey 10 javascript arrays jquery
假设我有一个包含值 [1,2,3,6,7] 的数组。
如何检查数组是否包含 3 个连续的数字。例如,上面的数组包含 [1,2,3],因此这将在我的函数中返回 false。
var currentElement = null;
var counter = 0;
//check if the array contains 3 or more consecutive numbers:
for (var i = 0; i < bookedAppArray.length; i++) {
if ((bookedAppArray[i] != currentElement) && (bookedAppArray[i] === bookedAppArray[i - 1] + 1)) {
if (counter > 2) {
return true;
}
currentElement = bookedAppArray[i];
counter++;
} else {
counter = 1;
}
}
if(counter > 2){
return true;
} else{
return false;
}
Run Code Online (Sandbox Code Playgroud)
这个解决方案
2
,1
1
function consecutive(array) {
var i = 2, d;
while (i < array.length) {
d = array[i - 1] - array[i - 2];
if (Math.abs(d) === 1 && d === array[i] - array[i - 1]) {
return false;
}
i++;
}
return true;
}
document.write(consecutive([1]) + '<br>'); // true
document.write(consecutive([2, 4, 6]) + '<br>'); // true
document.write(consecutive([9, 8, 7]) + '<br>'); // false
document.write(consecutive([1, 2, 3, 6, 7]) + '<br>'); // false
document.write(consecutive([1, 2, 3, 4, 5]) + '<br>'); // false
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
12418 次 |
最近记录: |