Mapy JavaScript
Mapa przechowuje pary klucz-wartość, w których klucze mogą być dowolnym typem danych.
Mapa zapamiętuje pierwotną kolejność wstawiania kluczy.
Map ma właściwość, która reprezentuje rozmiar mapy.
Metody mapowania
metoda | Opis |
---|---|
nowa mapa() | Tworzy nowy obiekt Map |
ustawić() | Ustawia wartość klucza w Mapie |
dostwać() | Pobiera wartość klucza w mapie |
jasne() | Usuwa wszystkie elementy z mapy |
kasować() | Usuwa element mapy określony przez klucz |
ma() | Zwraca true, jeśli klucz istnieje w mapie |
dla każdego() | Wywołuje wywołanie zwrotne dla każdej pary klucz/wartość w mapie |
wpisy () | Zwraca obiekt iteratora z parami [klucz, wartość] w Map |
Klucze() | Zwraca obiekt iteratora z kluczami w mapie |
wartości() | Zwraca obiekt iteratora wartości w Map |
Nieruchomość | Opis |
---|---|
rozmiar | Zwraca liczbę elementów mapy |
Jak stworzyć mapę
Mapę JavaScript można utworzyć poprzez:
- Przekazywanie tablicy do
new Map()
- Utwórz mapę i użyj
Map.set()
nowa mapa()
Mapę można utworzyć, przekazując tablicę do new Map()
konstruktora:
Przykład
// Create a Map
const fruits = new Map([
["apples", 500],
["bananas", 300],
["oranges", 200]
]);
Mapa.set()
Możesz dodawać elementy do mapy za pomocą set()
metody:
Przykład
// Create a Map
const fruits = new Map();
// Set Map Values
fruits.set("apples", 500);
fruits.set("bananas", 300);
fruits.set("oranges", 200);
Metodę set()
można również wykorzystać do zmiany istniejących wartości Map:
Przykład
fruits.set("apples", 500);
Mapa.get()
Metoda get()
pobiera wartość klucza w Mapie:
Przykład
fruits.get("apples"); // Returns 500
Rozmiar mapy
Właściwość size
zwraca liczbę elementów w Mapie:
Przykład
fruits.size;
Map.delete()
Metoda delete()
usuwa element Map:
Przykład
fruits.delete("apples");
Mapa.wyczyść()
Metoda clear()
usuwa wszystkie elementy z Mapy:
Przykład
fruits.clear();
Mapa.ma()
Metoda has()
zwraca prawdę, jeśli klucz istnieje w Mapie:
Przykład
fruits.has("apples");
Spróbuj tego:
fruits.delete("apples");
fruits.has("apples");
Mapy są obiektami
typeof
zwraca obiekt:
Przykład
// Returns object:
typeof fruits;
instanceof
Mapa zwraca prawdę:
Przykład
// Returns true:
fruits instanceof Map;
Obiekty JavaScript a mapy
Różnice między obiektami JavaScript a mapami:
Obiekt | Mapa | |
---|---|---|
Iterowalny | Nie można bezpośrednio iterować | Bezpośrednio iterowalny |
Rozmiar | Nie masz właściwości rozmiaru | Mieć właściwość rozmiaru |
Kluczowe typy | Klucze muszą być ciągami (lub symbolami) | Klucze mogą być dowolnym typem danych |
Kolejność kluczy | Klucze nie są dobrze uporządkowane | Klucze są uporządkowane przez wstawienie |
Domyślne | Mają domyślne klawisze | Nie mam domyślnych klawiszy |
Map.forEach()
Metoda forEach()
wywołuje wywołanie zwrotne dla każdej pary klucz/wartość w Mapie:
Przykład
// List all entries
let text = "";
fruits.forEach (function(value, key) {
text += key + ' = ' + value;
})
Map.keys()
Metoda keys()
zwraca obiekt iteratora z kluczami w Mapie:
Przykład
// List all keys
let veggies = "";
for (const x of fruits.keys()) {
veggies += x;
}
Map.wartości()
Metoda values
zwraca obiekt iteratora z wartościami w Mapie:
Przykład
// Sum all values
let total = 0;
for (const x of fruits.values()) {
total += x;
}
Wpisy mapy()
Metoda entries()
zwraca obiekt iteratora z [klucz, wartości] w Mapie:
Przykład
// List all entries
let text = "";
for (const x of fruits.entries()) {
text += x;
}
Przedmioty jako klucze
Możliwość używania obiektów jako kluczy jest ważną cechą mapy.
Przykład
// Create Objects
const apples = {name: 'Apples'};
const bananas = {name: 'Bananas'};
const oranges = {name: 'Oranges'};
// Create a Map
const fruits = new Map();
// Add new Elements to the Map
fruits.set(apples, 500);
fruits.set(bananas, 300);
fruits.set(oranges, 200);
Pamiętaj: kluczem jest obiekt (jabłka), a nie ciąg ("jabłka"):
Przykład
fruits.get("apples"); // Returns undefined
Obsługa przeglądarki
Mapy JavaScript są obsługiwane we wszystkich przeglądarkach oprócz Internet Explorera:
Chrome | Edge | Firefox | Safari | Opera |