Как посчитать сколько раз прерывалась серия чисел?

Мне нужно получить число сколько раз прерывалась серия чисел. На пример серия 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)

→ Ссылка