Методы .flat() и .flatMap() используются для работы с многомерными массивами и преобразования их в одномерные массивы.

Метод .flat() используется для “раскрытия” (flattening) многомерного массива, преобразования его в одномерный массив. Этот метод объединяет все элементы массива в один новый массив, удаляя внутренние массивы и любые пустые ячейки в массиве. При этом, если в метод передан аргумент depth, он указывает на глубину вложенности, до которой нужно “раскрыть” массив.

Синтаксис метода .flat():

array.flat(depth)
  • array - многомерный массив, который нужно “раскрыть”.
  • depth (необязательный) - глубина вложенности, до которой нужно “раскрыть” массив.

Пример использования метода .flat():

const arr = [1, [2, 3], [4, [5, 6]]]
 
const flatArr = arr.flat()
 
console.log(flatArr) // Вывод: [1, 2, 3, 4, 5, 6]

В этом примере, мы используем метод .flat() для преобразования многомерного массива arr в одномерный массив flatArr. Результатом вызова метода .flat() является новый массив, содержащий все элементы из исходного многомерного массива.

Метод .flatMap() используется для преобразования каждого элемента массива с помощью функции и объединения результатов в один новый массив. Этот метод принимает функцию обратного вызова, которая принимает элемент массива и возвращает новый массив, и затем объединяет все новые массивы в один новый массив.

Синтаксис метода .flatMap():

array.flatMap(callback)
  • array - массив, элементы которого нужно преобразовать.
  • callback - функция обратного вызова, которая принимает элемент массива и возвращает новый массив.

Пример использования метода .flatMap():

const arr = [1, 2, 3]
 
const flatMappedArr = arr.flatMap((num) => [num, num * 2])
 
console.log(flatMappedArr) // Вывод: [1, 2, 2, 4, 3, 6]

В этом примере, мы используем метод .flatMap() для преобразования каждого элемента массива arr с помощью функции обратного вызова, которая возвращает новый массив, содержащий элемент и его удвоенное значение. Результатом вызова метода .flatMap() является новый массив, содержащий все элементы из преобразованных массивов.

Таким образом, методы .flat() и .flatMap() используются для работы с многомерными массивами и преобразования их в одномерные массивы. Метод .flat() “раскрывает” многомерный массив, а метод .flatMap() применяет функцию обратного вызова к каждому элементу массива и объединяет результаты в один новый массив.


Назад