JavaScript · справочник
Метод Array.flat()
flat() создаёт новый массив и раскрывает вложенные массивы на указанную глубину. Исходная структура не изменяется.
Один уровень
По умолчанию раскрывается только первый уровень вложенности.
const groups = [[1, 2], [3, 4], [5]];
const values = groups.flat(); // [1, 2, 3, 4, 5]
Глубина и flatMap
Аргумент задаёт количество уровней, Infinity раскрывает все. Если сначала нужно преобразовать каждый элемент, а затем раскрыть один уровень, используй flatMap.
const deep = [1, [2, [3]]];
deep.flat(2); // [1, 2, 3]
const words = ['hello world', 'css grid'];
words.flatMap(text => text.split(' '));
Частые ошибки
- Ожидать изменение исходного массива.
- Не указать нужную глубину.
- Терять смысл группировки.
- Использовать map().flat() вместо понятного flatMap().
Практика
Создай массив разделов, где каждый содержит массив тем. Получи общий список тем и отдельно список всех слов из названий.