Разреженные массивы
Часть раздела Логика и поток путешествия по 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Задание
ЛегкоСоздайте функцию с именем analyzeSparseArray, которая принимает разреженный массив в качестве аргумента. Функция должна возвращать объект со следующими свойствами:
length: Общая длина массиваelementCount: Количество непустых элементов в массивеlargestGap: Размер самого большого разрыва (последовательных пустых слотов) в массиве
Шпаргалка
Разреженный массив — это массив с пустыми слотами или промежутками между элементами, созданный путем присвоения значений непоследовательным индексам или удаления элементов.
Создание разреженных массивов с промежутками:
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Попробуйте сами
function analyzeSparseArray(arr) {
// Напишите свой код здесь
}
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Логика и поток
1Строки в деталях
Основы работы со строкамиИтерация по строкамШаблонные литералыМетоды строкИтоги — String Weaver4JSON Часть 2
Итерация по JSONВложенный JSONОпциональная цепочка JSONПоверхностное и глубокое копированиеПовторение — Магазин велосипедовПовторение — Солнечная система7Система управления библиотекой
Обзор проектаДобавление книг10Управление системой фестиваля
Обзор проектаДобавление фильмов и площадок2Многомерные массивы
Основы 2D массивовДоступ к элементам 2D массиваВложенные циклы и 2D массивыПовторение: 2D массивыСложение и вычитание матрицСтупенчатые массивы3D массивы и далееРаспространенные паттерны 2D массивовПовторение: всё о массивах5Множества. Часть 1
Что такое множество?Итерация по множествамДобавление элементаУдаление элементаПроверка наличия элементаРазмер и проверка на пустотуКопирование и очисткаИтоги — Основы множеств8Интересные темы о массивах
Деструктуризация массивовСинтаксис Spread в массивахРазреженные массивыИтоги — Воркшоп по массивам3JSON. Часть 1
Что такое JSON?Проверка наличия ключаМетоды объектовОператор spread. Часть 1Оператор spread. Часть 2Удаление ключейПовторение: манипуляции с ключами JSON