flat()
-
Метод
flat()
создает новый массив со всеми элементами подмассива, конкатенированными в него рекурсивно до указанной глубины. -
Аргумент — Уровень глубины, указывающий, насколько глубоко должна быть сплющена вложенная структура массива. Значение по умолчанию равно 1.
-
Метод
flat()
удаляет пустые слоты в массивах.
const arr = [10, 20, [40,5]];
console.log(arr.flat());
// [10, 20, 40, 50]
const arrTwo = [10, [[20], 30]];
console.log(arrTwo.flat());
// [10, [20], 30]
const arrThree = [10, [[20, 30]]];
console.log(arrThree.flat(2));
// [10, 20, 30]
const arrFour = [10, [[[[20, 40]]]]];
console.log(arr.flat(Infinity));
//[10, 20, 40];
flatMap()
-
Плоский метод
flatMap()
возвращает новый массив, сформированный путем применения заданной функции обратного вызова к каждому элементу массива, а затем сплющивает массив. -
Он идентичен методу
map()
, за которым следуетflat()
.
let arr = [1, [2], 3];
const resultingArr = arr.flatMap((x) => {
return x * 3;
});
console.log(resultingArr); // [3, 6, 9]
let arrTwo = [1, [2], [[3]]];
const doubleEven = arr.flatMap((x) => {
return x % 2 == 0 ? 2 * x : [];
});
console.log(doubleEven); // [4]