の配列が[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);