如果我有一个数组[1, 2, 3, 5, 10, 9, 8, 9, 10, 11, 7]
并且想要找到 3 个连续数字的每个案例(无论是升序还是降序),我该怎么做?
第二部分是用这些序列中的每一个的索引来提醒一个数组。
例如。前一个数组将返回[0,4,6,7]
.
到目前为止,我有这个......这是一个艰难的开始
var arr = [1, 2, 3, 5, 10, 9, 8, 9, 10, 11, 7];
var results = [];
for (var i = 1; i < arr.length; i++) {
if ((arr[i] - arr[i-1] != 1) && (arr[i] - arr[i+1] != 1)) {
results.push(arr[i]);
}
}
alert(results);
谢谢您的帮助!
感谢 math.abs 指针。这就是我最终做的事情:
var array = [1, 2, 3, 5, 10, 9, 8, 9, 10, 11, 7];
var indexes = [];
for(var i=0; i < array.length; i++) {
var diff = array[i+1] - array[i];
if(Math.abs(diff)==1 && array[i+1]+diff == array[i+2]) {
indexes.push(i);
}
}
alert(indexes);