Διαδρομές
/
JavaScript
JavaScript
/
Ύλη
/
Αποδόμηση Πίνακα
Απ

Αποδόμηση Πίνακα σε JavaScript

1 άσκηση

Σχετικά με την έννοια Αποδόμηση Πίνακα

Η ανάθεση αποδόμησης πίνακα είναι ένας συνοπτικός τρόπος εξαγωγής τιμών από έναν πίνακα. Η σύνταξή της είναι παρόμοια με μια έκφραση κυριολεκτικού πίνακα, αλλά στην αριστερή πλευρά της ανάθεσης αντί για τη δεξιά.

const frenchNumbers = ['quatre-vingts', 'quatre-vingt-dix', 'cent'];
const [french80, french90, french100] = frenchNumbers;

french80;
// => 'quatre-vingts'
french90;
// => 'quatre-vingt-dix'
french100;
// => 'cent'

Εκ νέου ανάθεση

Επειδή οι μεταβλητές αντιστοιχίζονται σε τιμές του πίνακα με βάση τη θέση, η σύνταξη αποδόμησης μπορεί να χρησιμοποιηθεί για την ανάθεση ή την εκ νέου ανάθεση πολλών μεταβλητών σε μία μόνο έκφραση.

let [a, b] = ['world', 'hello'];
[b, a] = [a, b];

a;
// => 'hello'
b;
// => 'world'

Αυτό λειτουργεί και για εμφωλευμένους πίνακες.

let [a, b, c] = ['orange', 'purple', 'green'];
[[a, b], c] = [[c, a], b];

a;
// => 'green'
b;
// => 'orange'
c;
// => 'purple'

Παράλειψη ανάθεσης

Η σύνταξη επιτρέπει την παράλειψη τιμών κατά την αντιστοίχιση, για παράδειγμα για να αγνοήσεις συγκεκριμένες θέσεις στον πίνακα. Στο παρακάτω παράδειγμα, φαντάσου ότι έχουμε μια συνάρτηση getUserInfo που επιστρέφει έναν πίνακα που περιέχει το όνομα, το επώνυμο και τη διεύθυνση ενός χρήστη.

getUserInfo();
// => ["Valerie", "Noir", "Sunny Lane 523"]

const [, , streetAddress] = getUserInfo();

streetAddress;
// => "Sunny Lane 523"

Απόρριψη τιμών

Επίσης, η ανάθεση δεν απαιτείται να χρησιμοποιεί όλες τις τιμές.

const [firstName, lastName] = getUserInfo();

firstName;
// => "Valerie"

lastName;
// => "Noir"

Λήψη περισσότερων τιμών από τις διαθέσιμες

Είναι ακόμη δυνατό να εξαγάγεις περισσότερες τιμές από όσες περιέχει ο πίνακας· στις υπόλοιπες μεταβλητές θα ανατεθεί η τιμή undefined. Αυτό μπορεί να φανεί χρήσιμο όταν ο αριθμός των τιμών δεν είναι γνωστός εκ των προτέρων.

const pickAtLeastOne = ['first choice', 'second choice'];
const [first, second, third, fourth] = pickAtLeastOne;

first;
// => "first choice"

second;
// => "second choice"

third;
// => undefined

fourth;
// => undefined

Προεπιλεγμένες τιμές

Η ανάθεση αποδόμησης πίνακα μπορεί να παρέχει προεπιλεγμένες τιμές σε περίπτωση που δεν υπάρχει καμία στον πίνακα προέλευσης.

const [first, second, third = 'none selected', fourth] = pickAtLeastOne;

third;
// => 'none selected'

fourth;
// => undefined

Σχετικές έννοιες

object-destructuring rest-and-spread

Επεξεργασία μέσω GitHub Ο σύνδεσμος ανοίγει σε νέο παράθυρο ή καρτέλα

Μάθε την έννοια Αποδόμηση Πίνακα