typescript Map对象中的值未递增

pbpqsu0x  于 2023-03-24  发布在  TypeScript
关注(0)|答案(1)|浏览(127)

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

private rankMostFrequent5Words(): void {

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

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

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

我想要的输出是:如果一个键已经存在于Map中,则将该数字增加1,如果它不存在,则将该键和计数设置为1。
实际产量:

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

z9smfwbn

z9smfwbn1#

不能使用括号语法访问Map值。必须使用.get方法。

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

了解更多关于Map的信息。

相关问题