Метод flat
Методът flat намалява нивата
на влагане на многомерен масив.
Може или да направи масива едномерен,
или да намали размерността със зададена
стойност.
Синтаксис
let newArray = масив.flat(ниво на изравняване);
Пример
Нека получим нов масив, без да указваме параметър:
let arr = ['a', 'b', ['c', 'd']];
let res = arr.flat();
console.log(res);
В резултат на изпълнението на кода ще видим, че подмасивите са се изравнили с едно ниво:
['a', 'b', 'c', 'd']
Пример
Сега нека приложим метода
flat към масив с две нива
на влагане:
let arr = ['a', 'b', ['c', 'd', ['e', 'f']]];
let res = arr.flat();
console.log(res);
Резултат от изпълнението на кода:
['a', 'b', 'c', 'd', ['e', 'f']]
Пример
Нека укажем ниво на влагане:
let arr = ['a', 'b', ['c', 'd', ['e', 'f']]];
let res = arr.flat(2);
console.log(res);
Резултат от изпълнението на кода:
['a', 'b', 'c', 'd', 'e', 'f']
Пример
Ако не искаме да се занимаваме с нивата на влагане,
а да обединим целия масив, използваме параметъра Infinity:
let arr = ['a', 'b', ['c', 'd', ['e', 'f', ['g', 'h', ['i']]]]];
let res = arr.flat(Infinity);
console.log(res);
Резултат от изпълнението на кода:
[
'a', 'b', 'c',
'd', 'e', 'f',
'g', 'h', 'i'
]
Вижте също
-
метод
flatMap,
който връща масив от елементи след прилагане на функция