Методы .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()
применяет функцию обратного вызова к каждому элементу массива и объединяет результаты в один новый массив.