javascript - Värden i map-objektet ökas inte
Jag gör en analys på en array av strängar som heter wordList: string[]=[];
Detta innehåller en lång lista med strängar.
Problem: Jag har ett kartobjekt vars nyckel är av typen string och värdet är av typen number.
Här är min kod.
private rankMostFrequent5Words(): void {
this.wordList.forEach((word:string) => {
if(!this.mapObject.has(word)) {
this.mapObject.set(word, 1)
}
else {
this.mapObject[word]++;
}
});
}
Mitt önskade resultat är: om en nyckel redan finns i kartan, öka numret med 1 och om det inte finns, sätt denna nyckel och räkningen till 1.
Faktiskt utdata:
Hur kan jag fixa detta? Vänligen vägled mig.
Svar #1
Du kan inte komma åt kartvärden med hakparentessyntax. Du måste använda .get-metoden.
if(!this.mapObject.has(word)) {
this.mapObject.set(word, 1)
} else {
this.mapObject.set(word, this.mapObject.get(word) + 1)
}
Läs mer om karta.
