Sök…


Syntax

  • ny karta ([iterable])
  • map.set (nyckel, värde)
  • map.get (nyckel)
  • map.size
  • map.clear ()
  • map.delete (nyckel)
  • map.entries ()
  • map.keys ()
  • map.values ()
  • map.forEach (callback [, thisArg])

parametrar

Parameter detaljer
iterable Alla itererbara objekt (till exempel en matris) som innehåller [key, value] -par.
key Nyckeln till ett element.
value Värdet tilldelat nyckeln.
callback Återuppringningsfunktion som kallas med tre parametrar: värde, nyckel och kartan.
thisArg Värde som kommer att användas som this vid körning av callback .

Anmärkningar

I kartor anses NaN vara samma som NaN , även om NaN !== NaN . Till exempel:

const map = new Map([[NaN, true]]);
console.log(map.get(NaN)); // true

Skapa en karta

En karta är en grundläggande kartläggning av nycklar till värden. Kartor skiljer sig från objekt genom att deras nycklar kan vara vad som helst (primitiva värden såväl som objekt), inte bara strängar och symboler. Iteration över kartor görs alltid alltid i den ordning som objekten sattes in på kartan, medan ordningen är odefinierad när iterering över nycklar i ett objekt.

Använd kartkonstruktören för att skapa en karta:

const map = new Map();

Den har en valfri parameter, som kan vara vilket som helst iterbart objekt (till exempel en matris) som innehåller matriser av två element - först är nyckeln, sekunderna är värdet. Till exempel:

const map = new Map([[new Date(), {foo: "bar"}], [document.body, "body"]]);
//                      ^key          ^value          ^key        ^value

Rensa en karta

För att ta bort alla element från en karta använder .clear() metoden .clear() :

map.clear();

Exempel:

const map = new Map([[1, 2], [3, 4]]);
console.log(map.size); // 2
map.clear();
console.log(map.size); // 0
console.log(map.get(1)); // undefined

Ta bort ett element från en karta

För att ta bort ett element från en karta använder .delete() metoden .delete() .

map.delete(key);

Exempel:

const map = new Map([[1, 2], [3, 4]]);
console.log(map.get(3)); // 4
map.delete(3);
console.log(map.get(3)); // undefined

Den här metoden returnerar true om elementet fanns och har tagits bort, annars false :

const map = new Map([[1, 2], [3, 4]]);
console.log(map.delete(1)); // true
console.log(map.delete(7)); // false

Kontrollera om det finns en nyckel på en karta

För att kontrollera om det finns en nyckel på en karta använder .has() metoden .has() :

map.has(key);

Exempel:

const map = new Map([[1, 2], [3, 4]]);
console.log(map.has(1)); // true
console.log(map.has(2)); // false

Iterating Maps

Kartan har tre metoder som returnerar iteratorer: .keys() , .values() och .entries() . .entries() är standardkarta-iteratorn och innehåller [key, value] -par.

const map = new Map([[1, 2], [3, 4]]);

for (const [key, value] of map) {
  console.log(`key: ${key}, value: ${value}`);
  // logs:
  // key: 1, value: 2
  // key: 3, value: 4
}

for (const key of map.keys()) {
  console.log(key); // logs 1 and 3
}

for (const value of map.values()) {
  console.log(value); // logs 2 and 4
}

Map har också .forEach() -metoden. Den första parametern är en återuppringningsfunktion, som kommer att anropas för varje element på kartan, och den andra parametern är det värde som kommer att användas som this vid exekvering av återuppringningsfunktionen.

Återuppringningsfunktionen har tre argument: värde, nyckel och kartobjektet.

const map = new Map([[1, 2], [3, 4]]);
map.forEach((value, key, theMap) => console.log(`key: ${key}, value: ${value}`));
// logs:
// key: 1, value: 2
// key: 3, value: 4

Få och ställa in element

Använd .get(key) att få värde för nyckel och .set(key, value) att tilldela ett värde till en nyckel.

Om elementet med den angivna nyckeln inte finns på kartan .get() undefined .

.set() -metoden returnerar kartobjektet, så att du kan kedja .set() .

const map = new Map();
console.log(map.get(1)); // undefined
map.set(1, 2).set(3, 4);
console.log(map.get(1)); // 2

Få antalet element på en karta

För att få antalet element på en karta, använd egenskapen .size :

const map = new Map([[1, 2], [3, 4]]);
console.log(map.size); // 2


Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow