Как посчитать сколько раз прерывалась серия чисел?
Мне нужно получить число сколько раз прерывалась серия чисел. На пример серия 1,4,6,9,10 прервалась 3 раза. Пробовал что то в этом направлении, но не получается додумать...
var mynumbers = new Array(1,4,6,9,10);
var maxnumber = Math.max(...mynumbers);
var missing_count = 0;
for(var i=1;i<=maxnumber;i++)
{
if(mynumbers[i-1] != i){
missing_count++;
}
}
console.log(missing_count);
Ответы (1 шт):
Автор решения: Dmitrii Sedov
→ Ссылка
Можно сделать например таким способом:
var arr = [1,4,6,9,10];
var count = arr.reduce(function (res, current, index) {
if (arr[index + 1] - current > 1) res += 1;
return res;
}, 0);
console.log(count)
Либо с другим синтаксисом:
const arr = [1,4,6,9,10];
const count = arr.reduce((res, current, index) => (arr[index + 1] - current > 1) ? res + 1 : res, 0);
console.log(count)