Metoda flat
Metoda flat reduce nivelul
de imbricare a unui array multidimensional.
Poate fie să facă array-ul unidimensional,
fie să reducă dimensionalitatea cu o valoare
dată.
Sintaxă
let newArray = array.flat(nivelAplatizare);
Exemplu
Să obținem un nou array, fără a specifica niciun parametru:
let arr = ['a', 'b', ['c', 'd']];
let res = arr.flat();
console.log(res);
În urma executării codului vom vedea că sub-array-urile s-au ridicat cu un nivel:
['a', 'b', 'c', 'd']
Exemplu
Acum să aplicăm metoda
flat unui array cu două niveluri
de imbricare:
let arr = ['a', 'b', ['c', 'd', ['e', 'f']]];
let res = arr.flat();
console.log(res);
Rezultatul executării codului:
['a', 'b', 'c', 'd', ['e', 'f']]
Exemplu
Să specificăm nivelul de imbricare:
let arr = ['a', 'b', ['c', 'd', ['e', 'f']]];
let res = arr.flat(2);
console.log(res);
Rezultatul executării codului:
['a', 'b', 'c', 'd', 'e', 'f']
Exemplu
Dacă nu vrem să ne complicăm cu nivelul de imbricare,
ci să concatenăm întregul array, folosim parametrul Infinity:
let arr = ['a', 'b', ['c', 'd', ['e', 'f', ['g', 'h', ['i']]]]];
let res = arr.flat(Infinity);
console.log(res);
Rezultatul executării codului:
[
'a', 'b', 'c',
'd', 'e', 'f',
'g', 'h', 'i'
]
Vedeți și
-
metoda
flatMap,
care returnează un array cu elemente după aplicarea unei funcții