Привет всем! Сегодня я буду обсуждать выравнивание массивов, которые всегда были сложными в 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.

Скажи привет!Твиттер | Блог | ЛинкедИн | Гитхаб

Ссылки и ресурсы