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