как найти количество пропущенных чисел в массиве

151
09 апреля 2022, 00:40

x=[2,4,6]

например в этом массиве начиная с первого элемента отсутствует 2 числа։3 и 5, нужно вывести количество отсутствующих т.е. 2

Answer 1

Примерно так։

var x = [2,4,6]; 
 
var m = []; 
var maxCount = Math.max.apply(Math, x); 
var mincount = Math.min.apply(Math, x); 
 
 
for (var i = mincount; i < maxCount; i++) { 
  if (x.indexOf(i) == -1) { 
    m.push(i); 
  } 
} 
 
/*Сам массив*/ 
console.log(m); 
 
/*Количество элементов*/ 
console.log(m.length);

Answer 2
let x = [2,4,6],
max = Math.max(...x), //в этой строке мы находим максимальное число 
min = Math.min(...x); //в этой строке мы находим минимальное число 
let result = [... new Array(max-min+1)] //здесь формируем массив конструктором и распаковываем его в обычный массив (это важно сделать для корректной работы методов)
    .map((_, i)=>min+i) // здесь мы формируем массив со всеми значениями
    .filter(elem=>!x.includes(elem)).length // исключаем значения из начального массива и определяем его длинну.

p.s. Можно просто вычесть длинну изначального списка и разность максимального и минимального, но в этом случае мы лишаем себя возможности работать с элементами.

Если строго по задаче, то достаточно сделать следующее

let x = [2,4,6],
max = Math.max(...x), 
min = Math.min(...x); 
console.log(max-min+1 - x.length)
READ ALSO
Chrome Extension. Закрыть вкладку по таймеру

Chrome Extension. Закрыть вкладку по таймеру

Подскажите пожалуйста новичкуЕсть кнопка, по нажатию на неё происходит переход на страницу

120
Как динамически менять значения в кастомном селекте?

Как динамически менять значения в кастомном селекте?

Есть кастомный селек, который скрывает обычный и создает кастомный на дивах

140
как умножить числа в массиве парами

как умножить числа в массиве парами

Допустим есть массив из чисел, у которыхёlength 4 или больше, скажем:6, нужно умножить их парами, например, первый элемент со вторым, третий с четвёртым,...

187
JavaScript Algorithms and Data Structures Projects: Cash Register (нужна помощь)

JavaScript Algorithms and Data Structures Projects: Cash Register (нужна помощь)

Это условие задачи на FreeCodeCamp ( https://wwwfreecodecamp

92