Μέθοδοι Map JavaScript
new Map() μέθοδο
Μπορείτε να μεταφέρετε έναν πίνακα στον new Map()
Ο κατασκευαστής για τη δημιουργία του Map:
πρότυπο
// Δημιουργία Map const fruits = new Map([ ["apples", 500], ["bananas", 300], ["oranges", 200] ]);
Map.get()
μπορείτε να χρησιμοποιήσετε get()
Η μέθοδος αποκτά την τιμή του κλειδιού από το Map:
πρότυπο
fruits.get("apples");
Map.set()
μπορείτε να χρησιμοποιήσετε set()
Η μέθοδος προσθέτει στοιχεία στο Map:
πρότυπο
// Δημιουργία Map const fruits = new Map(); // Ορίζει την τιμή του Map fruits.set("apples", 500); fruits.set("bananas", 300); fruits.set("oranges", 200);
set()
Η μέθοδος μπορεί επίσης να χρησιμοποιηθεί για να αλλάξει την υπάρχουσα τιμή του Map:
πρότυπο
fruits.set("apples", 500);
Map.size
size
Η ιδιότητα επιστρέφει τον αριθμό των στοιχείων του Map:
πρότυπο
fruits.size;
Map.delete()
delete()
Η μέθοδος αφαιρεί ένα στοιχείο από το Map:
πρότυπο
fruits.delete("apples");
Map.clear()
clear()
Η μέθοδος αφαιρεί όλες τις στοιχεία από το Map:
πρότυπο
fruits.clear();
Map.has()
Αν υπάρχει κάποιο κλειδί στο Map:has()
Η μέθοδος επιστρέφει true:
πρότυπο
fruits.has("apples");
Προσπαθήστε τον παρακάτω κώδικα:
fruits.delete("apples"); fruits.has("apples");
Map.forEach()
forEach()
Η μέθοδος καλεί την ανατροφοδότηση συνάρτηση για κάθε κλειδί-τιμή του Map:
πρότυπο
// Καταγράφει όλες τις καταχωρήσεις let text = ""; fruits.forEach(function(value, key) { text += key + ' = ' + value; });
Map.entries()
entries()
Η μέθοδος επιστρέφει έναν αντικειμενογράφο αντικείμενο που περιέχει τα [key, value] Αντικειμενογράφο αντικείμενο:
πρότυπο
// Καταγράφει όλες τις καταχωρήσεις let text = ""; για (const x of fruits.entries()) { text += x; }
Map.keys()
keys()
Η μέθοδος επιστρέφει έναν αντικειμενογράφο αντικείμενο που περιέχει τα κλειδιά του Map:
πρότυπο
// Καταγράφει όλες τις κλειδιά let text = ""; για (const x of fruits.keys()) { text += x; }
Map.values()
values()
η μέθοδος επιστρέφει έναν αντικειμενοποιημένο αντικειμενικό που περιέχει τιμές του Map:
πρότυπο
// Κατάλογος όλων των τιμών let text = ""; for (const x of fruits.values()) { text += x; }
μπορείτε να χρησιμοποιήσετε values()
η μέθοδος προσθέτει τη συνολική τιμή των τιμών του Map:
πρότυπο
// Συνολική προσθήκη όλων των τιμών let total = 0; for (const x of fruits.values()) { total += x; }
αντικείμενα ως κλειδιά
Συμβουλή:η δυνατότητα χρήσης αντικειμένων ως κλειδιών είναι μια σημαντική ιδιότητα του Map.
πρότυπο
// Δημιουργία αντικειμένων const apples = {name: 'Apples'}; const bananas = {name: 'Bananas'}; const oranges = {name: 'Oranges'}; // Δημιουργία Map const fruits = new Map(); // Προσθήκη νέων στοιχείων στο Map fruits.set(apples, 500); fruits.set(bananas, 300); fruits.set(oranges, 200);
Προσοχή:η κλειδί είναι το αντικείμενο (apples), όχι η αλφαβητική συμβολοσειρά ("apples"):
πρότυπο
fruits.get("apples"); // Επιστρέφει undefined
JavaScript Map.groupBy()
Το ES2024 προσθέτει στο JavaScript Map.groupBy()
μεθόδος.
Map.groupBy()
η μέθοδος κατηγοριοποιεί τα στοιχεία του αντικειμένου με βάση την επιστροφή του κλήσης της συνάρτησης.
Map.groupBy()
η μέθοδος δεν αλλάζει το αρχικό αντικείμενο.
πρότυπο
// Δημιουργία ενός πίνακα const fruits = [ {name: "apples", quantity: 300}, {name: "bananas", quantity: 500}, {name: "oranges", quantity: 200}, {name: "kiwi", quantity: 150} ]; // Χρήση για την κατηγοριοποίηση function myCallback({ quantity }) { return quantity > 200 ? "ok" : "low"; } // Κατηγοριοποίηση κατά αριθμό const result = Map.groupBy(fruits, myCallback);
Υποστήριξη περιηγητών
Map.groupBy()
Είναι χαρακτηριστική του ES2024.
Από τον Μάρτιο του 2024, νέοι περιηγητές υποστηρίζουν αυτή τη χαρακτηριστική:
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 117 | Edge 117 | Firefox 119 | Safari 17.4 | Opera 103 |
Σεπτέμβριος 2023 | Σεπτέμβριος 2023 | Οκτώβριος 2023 | Οκτώβριος 2024 | Μάιος 2023 |
Προειδοποίηση:
Η χαρακτηριστική ES2024 είναι σχετικά νέα.
Πιθανότατα θα χρειαστεί κώδικας αντικατάστασης (Polyfill) για παλαιότερους περιηγητές.
Η διαφορά μεταξύ Object.groupBy() και Map.groupBy()
Object.groupBy()
και Map.groupBy()
Η διαφορά είναι:
Object.groupBy()
Ομαδοποιήστε τα στοιχεία σε αντικείμενα JavaScript.
Map.groupBy()
Ομαδοποιήστε τα στοιχεία σε αντικείμενα Map.
Πλήρες έγχειρο Map
Για πλήρη αναφορά, επισκεφθείτε το:JavaScript Map έγχειρο.
Το έγχειρο περιλαμβάνει την περιγραφή και τα παραδείγματα όλων των ιδιοτήτων και μεθόδων του Map.