Läsare som du hjälper till att stödja MUO. När du gör ett köp med hjälp av länkar på vår webbplats kan vi tjäna en affiliate-provision. Läs mer.

En ordbok är en datastruktur som du kan använda för att lagra data i din applikation. Du kan lagra data med hjälp av ett nyckel-värdepar, vilket gör att du kan slå upp och hämta ett specifikt värde.

När du har lagrat data i en ordbok kan du utföra andra åtgärder som att iterera över varje objekt. Du kan också kontrollera om ett objekt finns, eller ta bort ett objekt som inte längre behövs.

Hur man skapar ett ordboksobjekt

En ordbok är en av de många viktiga datastrukturerna som du kan använda för att lagra data. Du kan skapa ordböcker i C# och många andra programmeringsspråk. Du kan också skapa en motsvarande hashmap-datastruktur i Java.

Det finns inget "ordbok" nyckelord som du kan använda för att skapa ett ordboksobjekt i JavaScript. Du kan dock skapa en ordbok med ett generiskt objekt. Här är ett exempel på hur du kan skapa en tom ordbok med nyckelordet "Objekt":

instagram viewer
låta ordbok = nyObjekt();

Du kan också skapa en tom ordbok med hjälp av denna stenografisyntax:

låta emptyDictionary = {};

Om du vill initiera ordboken med värden kan du lägga till varje värde i formatet "nyckel: värde".

Med hjälp av exemplet nedan kan du skapa en strängnyckel som heter "Pidgey" och associera den med ett värde. Värdet är ett objekt med egenskaper för husdjurets ålder, färg och kön.

låta petDictionary = {
"Pidgey": { Ålder: 0.5, Färg: "Grå", Kön: "Manlig" },
"Mocka": { Ålder: 0.5, Färg: "Brun", Kön: "Kvinna" },
};

Nycklar är inte begränsade till strängdatatyper. Du kan använda andra datatyper som siffror eller booleska värden.

låta wcDictionary = { 
1: { Team: "Argentina" },
2: { Team: "Frankrike" },
};

låta dictBool = {
Sann: { Meddelande: "Bekräftad" },
falsk: { Meddelande: "Nekade" },
};

Hur man lägger till värden till ordboksobjektet

Du kan lägga till nya objekt i en ordbok med detta format:

ordbok[ny_nyckel] = nytt_värde

New_key kan vara vilket giltigt nyckelvärde som helst. Det här är nyckeln du kommer att använda senare när du vill komma åt det specifika objektet i ordboken. New_value kan vara vilket objekt eller värde som helst som du vill associera med nyckeln.

Det här är ett exempel på hur du kan lägga till ett nytt objekt i en ordbok med hjälp av några exempelvärden:

petDictionary["Äpplen"] = { Ålder: 2, Färg: "Grön", Kön: "Manlig" };

Precis som vid initialisering kan du också använda andra datatyper för att representera nyckeln:

wcDictionary[3] = { Team: "Marocko" };

Hur man får tillgång till värden baserade på en nyckel

Du kan komma åt ett värde från en ordbok med dess nyckelvärde:

låta dictionaryValue = petDictionary["Mocka"];
trösta.log (dictionaryValue);

Det returnerade värdet kommer att innehålla hela objektet eller värdet som är lagrat för den nyckeln:

Hur man itererar över varje artikel i ordboken

Du kan iterera över varje objekt i ordboken med metoden Object.keys(). Objektet. Keys()-metoden returnerar en array som innehåller alla nycklar som används i ordboken:

trösta.logga(Objekt.keys (petDictionary));

I din konsol bör du då se en array som innehåller alla ordbokens nycklar:

Du kan använda listan med nycklar för att gå igenom varje objekt i ordboken och hämta värdet för varje nyckel:

för (konst nyckel avObjekt.keys (petDictionary)) { 
trösta.log (tangent + ": ");
trösta.logga(petDictionary[nyckel]);
};

Med följande resultat i din konsol:

Hur man kontrollerar om ett objekt finns i ordboken

Du kan kontrollera om det finns en nyckel i ordboken med nyckelordet "in":

låta inDictionary = 'Mocka'i petDictionary; // returnerar sant
låta notInDictionary = 'a'i petDictionary; // returnerar falskt

Du kan också använda metoden hasOwnProperty() för att kontrollera om ett objekt finns:

låta exists = petDictionary.hasOwnProperty('Mocka'); // returnerar sant
låta doesNotExist = petDictionary.hasOwnProperty('a'); // returnerar falskt

Hur man tar bort ett värde från ordboken

Du kan ställa in ett objekt till null för att indikera att det inte har något värde:

petDictionary["Äpplen"] = null;

Den posten kommer dock fortfarande att finnas i ordboken. Om du vill ta bort objektet helt och hållet kan du ta bort det med nyckelordet "radera":

radera petDictionary["Äpplen"];

Lagra data i ordböcker i JavaScript

JavaScript har inte förstklassigt stöd för ordböcker, men du kan använda ett vanligt objekt för att lagra nyckel/värdepar.

En ordbok är en mycket kraftfull datastruktur som du kan använda för att lagra och komma åt data med hjälp av nycklar. En ordbok är inte den enda platsen där du kan lagra data, så du kan utforska andra datastrukturer som bättre kan passa ditt användningsfall.