Menu
CoddyTech

Разреженные массивы

Часть раздела Логика и поток путешествия по JavaScript на Coddy. Урок 49 из 65.

Разреженный массив в JavaScript — это массив с пустыми слотами или промежутками между его элементами. Эти промежутки создаются, когда вы присваиваете значения непоследовательным индексам или удаляете элементы из массива.

Вот пример создания разреженного массива:

let sparseArray = [1, , , 4, 5];
console.log(sparseArray.length); // 5
console.log(sparseArray); // [1, empty × 2, 4, 5]

Вы также можете создавать разреженные массивы, присваивая значение индексу, находящемуся за пределами текущей длины:

let arr = [1, 2, 3];
arr[10] = 10;
console.log(arr); // [1, 2, 3, empty × 7, 10]
console.log(arr.length); // 11

Пустой слот — это не то же самое, что слот, содержащий undefined, при этом чтение arr[i] возвращает undefined в обоих случаях. Чтобы отличить их, проверьте, существует ли индекс, с помощью оператора in:

let sparseArray = [1, , , 4, 5];
console.log(1 in sparseArray); // false, слот 1 пуст
console.log(0 in sparseArray); // true, слот 0 содержит 1
challenge icon

Задание

Легко

Создай функцию с именем analyzeSparseArray, которая принимает разреженный массив в качестве аргумента. Функция должна возвращать объект со следующими свойствами:

  1. length: общая длина массива
  2. elementCount: количество непустых элементов в массиве
  3. largestGap: размер самого большого промежутка (последовательности пустых слотов) в массиве

Попробуйте сами

function analyzeSparseArray(arr) {
  // Напишите свой код здесь
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Логика и поток

Потренируйтесь самостоятельно: Онлайн-компилятор JavaScript