Виталий Котов
Как работает метод flat() - JavaScript
Метод flat() возвращает новый массив, сократив его вложенность до указанного уровня.
// 3 вложенных массива
let numbers = [1, 2, [3, 4, [5, 6, [7, 8]]]];
// сокращаем вложенность массива на 2 уровня
let flattenArray = numbers.flat(2);
// новый сокращённый массив
console.log(flattenArray);
// Вывод в консоль:
// [ 1, 2, 3, 4, 5, 6, [ 7, 8 ] ]Синтаксис flat()
Синтаксис метода flat() следующий:
arr.flat(depth);Где arr - это массив.
Метод flat() создает новый массив, "сглаживая" вложенные массивы до указанной глубины. Это полезно для работы со сложными структурами данных. Чтобы понимать, как эффективно использовать flat(), требуется хорошее знание массивов и их структуры. Если вы хотите детальнее погрузиться в JavaScript — приходите на наш большой курс JavaScript с нуля. На курсе 198 уроков и 30 упражнений, AI-тренажеры для безлимитной практики с кодом и задачами 24/7, решение задач с живым ревью наставника, еженедельные встречи с менторами.
Параметры flat()
Метод flat() принимает:
depth- целое число, указывающее на сколько уровней сокращается вложенность исходного массива. Его значение по умолчанию равно 1.
Возвращаемое значение flat()
Возвращает сокращённый массив с объединёнными в нём элементами подмассива.
Примечания: Метод
flat():не изменяет исходный массив. удаляет пустые элементы массива
Примеры
Пример 1: Использование метода flat()
// 3 вложенных массива
let numbers = [1, 2, [3, 4, [5, 6, [7, 8]]]];
// сокращаем вложенность массива на 2 уровня
let flattenArray = numbers.flat(2);
// новый сокращённый массив
console.log(flattenArray);Вывод в консоль:
[ 1, 2, 3, 4, 5, 6, [ 7, 8 ] ]В приведенном выше примере мы использовали метод flat() для сокращения вложенности массива numbers на 2 уровни.
numbers.flat(2) сокращает вложенность массива numbers и возвращает массив только с одним подмассивом, т.е. [ 1, 2, 3, 4, 5, 6, [ 7, 8 ] ]
Пример 2: Метод flat() без указания аргумента
// вложенный массив
let array1 = [1, [2, 3, 4], 5];
// без передачи аргумента в метод flat()
let flattenArray = array1.flat();
console.log(flattenArray);Вывод в консоль:
[ 1, 2, 3, 4, 5 ]Здесь мы не передали никакого аргумента depth в метод flat().
По умолчанию аргумент depth равен 1, поэтому array1.flat() сокращает вложенность массива array1 на 1 уровень.
Пример 2: Метод flat() для удаления пустых элементов
// массив с пустым элементом
let array_with_holes = [1, , 3];
// удаляем пустые элементы в массиве
let flattedArray = array_with_holes.flat();
console.log(flattedArray); // [ 1, 3 ]Вывод в консоль:
[ 1, 3 ]flat() - это мощный инструмент для упрощения работы со вложенными массивами. Для его эффективного использования, необходимо понимать структуру массивов и принципы их "сглаживания". Курс JavaScript с нуля поможет вам освоить все необходимые навыки. В первых 3 модулях уже доступно бесплатное содержание — начните погружаться в мир JavaScript прямо сегодня.
Постройте личный план изучения Javascript до уровня Middle — бесплатно!
Javascript — часть карты развития Frontend
100+ шагов развития
30 бесплатных лекций
300 бонусных рублей на счет
Бесплатные лекции
Все гайды по Javascript
Лучшие курсы по теме

Основы JavaScript
Антон Ларичев
TypeScript с нуля
Антон Ларичев