JavaScript Map-metoder

new Map() metoden

Genom att skicka ett array till new Map() Konstruktören för att skapa en Map:

instans

// Skapa en Map
const frukter = new Map([
  ["apples", 500],
  ["bananer", 300],
  ["oranger", 200]
]);

Prova det själv

Map.hämta()

kan användas hämta() Metoden hämtar värdet för en nyckel i en Map:

instans

frukter.hämta("apples");

Prova det själv

Map.sätt()

kan användas sätt() Metoden lägger till element till en Map:

instans

// Skapa en Map
const fruits = new Map();
// Sätt Map-värden
frukter.sätt("apples", 500);
frukter.sätt("bananer", 300);
frukter.sätt("oranger", 200);

Prova det själv

sätt() Metoden kan också användas för att ändra befintliga Map-värden:

instans

frukter.sätt("apples", 500);

Prova det själv

Map.storlek

storlek Egenskapen returnerar antalet element i en Map:

instans

frukter.storlek;

Prova det själv

Map.taBort()

taBort() Metoden tar bort ett element från en Map:

instans

frukter.taBort("apples");

Prova det själv

Map.töm()

töm() Metoden tar bort alla element från en Map:

instans

frukter.töm();

Prova det själv

Map.har()

Om det finns en viss nyckel i Map:har() Metoden returnerar true:

instans

frukter.har("apples");

Prova det själv

Försök följande kod:

frukter.taBort("apples");
frukter.har("apples");

Prova det själv

Map.varje()

varje() Metoden anropar en callback-funktion för varje nyckel-värdepar i en Map:

instans

// Lista alla poster
let text = "";
frukter.varje(function(value, key) {
  text += nyckel + ' = ' + värde;
});

Prova det själv

Map.entiteter()

entiteter() Metoden returnerar ett iteratörobjekt som innehåller [nyckel, värde] korrekt iteratorobjekt:

instans

// Lista alla poster
let text = "";
för (const x av frukter.entiteter()) {
  text += x;
}

Prova det själv

Map.keys()

keys() Metoden returnerar ett iteratörobjekt som innehåller nycklarna i en Map:

instans

// Lista alla nycklar
let text = "";
för (const x av frukter.namn()) {
  text += x;
}

Prova det själv

Map.values()

values() metoden returnerar en iteratörobjekt som innehåller värdena i Map:

instans

// Lista alla värden
let text = "";
for (const x of fruits.values()) {
  text += x;
}

Prova det själv

kan användas values() metoden summerar värdena i Map:

instans

// Summera alla värden
let total = 0;
for (const x of fruits.values()) {
  total += x;
}

Prova det själv

objekt som nycklar

Tips:att kunna använda objekt som nycklar är en viktig egenskap av Map.

instans

// Skapa objekt
const apples = {name: 'Apples'};
const bananas = {name: 'Bananas'};
const oranges = {name: 'Oranges'};
// Skapa en Map
const fruits = new Map();
// Lägg till nya element i Map
fruits.set(apples, 500);
fruits.set(bananas, 300);
fruits.set(oranges, 200);

Prova det själv

Observera:nyckeln är objektet (apples) snarare än strängen ("apples"):

instans

fruits.get("apples"); // Returnerar undefined

Prova det själv

JavaScript Map.groupBy()

ES2024 lade till Map.groupBy() metoden.

Map.groupBy() metoden grupperar elementen i objektet baserat på den strängvärde som returneras av callback-funktionen.

Map.groupBy() metoden ändrar inte den ursprungliga objektet.

instans

// Skapa en array
const fruits = [
  {name: "apples", quantity: 300},
  {name: "bananas", quantity: 500},
  {name: "oranges", quantity: 200},
  {name: "kiwi", quantity: 150}
];
// Callback-funktion för gruppering
function myCallback({ quantity }) {
  return quantity > 200 ? "ok" : "low";
}
// Gruppera efter kvantitet
const result = Map.groupBy(fruits, myCallback);

Prova det själv

Webbläsarstöd

Map.groupBy() är en ES2024-funktion.

Från och med mars 2024 stöder alla nya webbläsare denna egenskap:

Chrome Edge Firefox Safari Opera
Chrome 117 Edge 117 Firefox 119 Safari 17.4 Opera 103
September 2023 September 2023 Oktober 2023 Oktober 2024 Maj 2023

Varning:

ES2024-funktioner är relativt nya.

Gamla webbläsare kan behöva ersättningskod (Polyfill).

Skillnaden mellan Object.groupBy() och Map.groupBy()

Object.groupBy() och Map.groupBy() Skillnaden ligger i:

Object.groupBy() Gruppera element till JavaScript-objekt.

Map.groupBy() Gruppera element till Map-objekt.

Komplett Map-referenshandbok

För en fullständig referens, besök vår:JavaScript Map-referenshandbok.

Denna handbok innehåller beskrivningar och exempel på alla Map-attribut och metoder.