Если у меня есть массив [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);