
Привет всем! Сегодня я буду обсуждать выравнивание массивов, которые всегда были сложными в JavaScript, но не сейчас! Я собираюсь объяснить, как использовать новые методы массива, представленные в ES2019 — flat()
Мы увидим несколько способов выравнивания массивов и даже массивов уровня глубины, используя Array.prototype.flat()и рекурсивный способ.
Давайте начнем с нескольких примеров, чтобы понять сценарии.
Способы сгладить массив
- Использование
flat()метода - Использование рекурсии
- Использование функции генератора

Использование метода Array.prototype.flat()
Метод flat() создает новый массив со всеми элементами подмассива, объединенными в него рекурсивно до указанной глубины.

const hearts = ["💜",["💙"],["❤️🩹"]]; const flattened = heart.flat(); console.log(flattened); // ['💜', '💙', '❤️🩹']
Настройка
depthпараметр
flat() по умолчанию сглаживает только один слой в глубину.
// Default 1 hearts.flat(); // ['💜', '💙', '❤️🩹'] // Same as hearts.flat(1); // ['💜', '💙', '❤️🩹']
Сведение вложенных массивов
Путем передачи параметра depth

Бесконечно вложенные массивы (бесконечность)

Сведение разреженных (пустых) массивов с помощью flat()
Метод flat() удаляет пустые слоты в массивах:

Совместимость с браузером

Использование рекурсии
1. Использование функций
Array.prototype.concat()иArray.prototype.reduce()

2. Итеративный способ

Использование функции генератора
Другой способ использования функции-генератора для выравнивания вложенных массивов. В следующем примере кода показано, как это реализовать с помощью метода Array.isArray().

Вот и все. Спасибо за прочтение ❤. Полный код вы можете найти на GitHub.
Скажи привет!Твиттер | Блог | ЛинкедИн | Гитхаб