map对象中的值没有增加

时间:2018-04-15 10:10:13

标签: javascript angular typescript

我正在对名为wordList: string[] = [];的字符串数组进行分析 这包含很长的字符串列表。 问题: 我有一个地图对象,其键是string类型,值类型为number

这是我的代码。

     private rankMostFrequent5Words(): void {

    this.wordList.forEach((word:string) => {

     if(!this.mapObject.has(word)) {

        this.mapObject.set(word, 1)
     }
     else {
        this.mapObject[word]++;
     }
    });
  }

我想要的输出是,如果地图中已存在某个键,则将该数字递增1,如果该数字不存在,则设置此键并计数为1。 实际产量: What I get in browser console

我该如何解决这个问题?请指导。

1 个答案:

答案 0 :(得分:1)

您无法使用括号语法访问地图值。您必须使用.get方法。

if(!this.mapObject.has(word)) {
  this.mapObject.set(word, 1)
} else {
  this.mapObject.set(word, this.mapObject.get(word) + 1)
}

详细了解Map