Η μέθοδος 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,
που επιστρέφει έναν πίνακα από στοιχεία μετά την εφαρμογή μιας συνάρτησης