Я пытаюсь найти простой способ петли (итерации) над массивом, чтобы найти все недостающие номера в последовательности, массив будет выглядеть немного похоже Тот один ниже.
var numarmay = [0189459, 0189460, 0189461, 0189463, 0189465];
Для массива выше мне потребуется 0189462
и 0189464
.
Обновление : Это точное решение, которое я использовал из ответа Soufiane.
var numArray = [0189459, 0189460, 0189461, 0189463, 0189465];
var mia= [];
for(var i = 1; i < numArray.length; i++)
{
if(numArray[i] - numArray[i-1] != 1)
{
var x = numArray[i] - numArray[i-1];
var j = 1;
while (j<x)
{
mia.push(numArray[i-1]+j);
j++;
}
}
}
alert(mia) // returns [0189462, 0189464]
Обновление
Вот версия Neater с использованием .RECUCE
var numarmay = [0189459, 0189460, 0189461, 0189463, 0189466]; var mia = numarray.reduce (функция (ACC, Cur, ind, arr) {var diff = cur - arm [ind-1]; если (diff> 1) {var i = 1; пока (i
const findMissing = (numarr) => {
for(let i = 1; i <= numarr.length; i++) {
if(i - numarr[i-1] !== 0) {
console.log('found it', i)
break;
} else if(i === numarr.length) console.log('found it', numarr.length + 1)
}
};
console.log(findMissing([1,2,3,4,5,6,7,8,9,10,11,12,13,14]))