Μέθοδοι Map JavaScript

  • Προηγούμενη σελίδα JS Map
  • Επόμενη σελίδα JS typeof

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.

  • Προηγούμενη σελίδα JS Map
  • Επόμενη σελίδα JS typeof