Η μέθοδος flat

Η μέθοδος flat μειώνει το επίπεδο ένθεσης ενός πολυδιάστατου πίνακα. Μπορεί είτε να κάνει τον πίνακα μονοδιάστατο, είτε να μειώσει τη διάσταση κατά μια δεδομένη τιμή.

Σύνταξη

javascriptlet newArray = πίνακας.flat(επίπεδο ανύψωσης);

Παράδειγμα

Ας πάρουμε έναν νέο πίνακα, χωρίς να καθορίσουμε καμία τιμή στην παράμετρο:

javascriptlet arr = ['a', 'b', ['c', 'd']];
let res = arr.flat();

console.log(res);

Ως αποτέλεσμα της εκτέλεσης του κώδικα θα δούμε ότι οι υποπίνακες έχουν ανυψωθεί σε ένα επίπεδο:

javascript['a', 'b', 'c', 'd']

Παράδειγμα

Τώρα ας εφαρμόσουμε τη μέθοδο flat σε έναν πίνακα με δύο επίπεδα ένθεσης:

javascriptlet arr = ['a', 'b', ['c', 'd', ['e', 'f']]];
let res = arr.flat();

console.log(res);

Αποτέλεσμα εκτέλεσης του κώδικα:

javascript['a', 'b', 'c', 'd', ['e', 'f']]

Παράδειγμα

Ας καθορίσουμε το επίπεδο ένθεσης:

javascriptlet arr = ['a', 'b', ['c', 'd', ['e', 'f']]];
let res = arr.flat(2);

console.log(res);

Αποτέλεσμα εκτέλεσης του κώδικα:

javascript['a', 'b', 'c', 'd', 'e', 'f']

Παράδειγμα

Αν δεν θέλουμε να ασχοληθούμε με το επίπεδο ένθεσης, αλλά να ενώσουμε ολόκληρο τον πίνακα, τότε χρησιμοποιούμε την παράμετρο Infinity:

javascriptlet arr = ['a', 'b', ['c', 'd', ['e', 'f', ['g', 'h', ['i']]]]];
let res = arr.flat(Infinity);

console.log(res);

Αποτέλεσμα εκτέλεσης του κώδικα:

javascript[
  'a', 'b', 'c',
  'd', 'e', 'f',
  'g', 'h', 'i'
]

Δείτε επίσης

  • η μέθοδος flatMap,
    που επιστρέφει έναν πίνακα από στοιχεία μετά την εφαρμογή μιας συνάρτησης