Il metodo flat
Il metodo flat riduce il livello
di annidamento di un array multidimensionale.
Può rendere l'array monodimensionale,
o ridurre la dimensionalità di un valore
specificato.
Sintassi
let newArray = array.flat(livello);
Esempio
Otteniamo un nuovo array senza specificare alcun valore nel parametro:
let arr = ['a', 'b', ['c', 'd']];
let res = arr.flat();
console.log(res);
Come risultato dell'esecuzione del codice vedremo che i sotto-array sono saliti di un livello:
['a', 'b', 'c', 'd']
Esempio
Ora applichiamo il metodo
flat a un array con due livelli
di annidamento:
let arr = ['a', 'b', ['c', 'd', ['e', 'f']]];
let res = arr.flat();
console.log(res);
Risultato dell'esecuzione del codice:
['a', 'b', 'c', 'd', ['e', 'f']]
Esempio
Specifichiamo il livello di annidamento:
let arr = ['a', 'b', ['c', 'd', ['e', 'f']]];
let res = arr.flat(2);
console.log(res);
Risultato dell'esecuzione del codice:
['a', 'b', 'c', 'd', 'e', 'f']
Esempio
Se non vogliamo preoccuparci del livello di annidamento,
e unire l'intero array, usiamo il parametro Infinity:
let arr = ['a', 'b', ['c', 'd', ['e', 'f', ['g', 'h', ['i']]]]];
let res = arr.flat(Infinity);
console.log(res);
Risultato dell'esecuzione del codice:
[
'a', 'b', 'c',
'd', 'e', 'f',
'g', 'h', 'i'
]
Vedi anche
-
il metodo
flatMap,
che restituisce un array di elementi dopo l'applicazione di una funzione