-1
少しのプログラムでは、複数の文字列の出現回数をカウントする必要がありました。 私はマップを使用して文字列をキーとして数字を値としてカウントしました。このため、私はMapオブジェクトに関数を追加しました:マップを使用した文字列の出現のカウント
Map.prototype.inc = function(s) {
if (this.has(s)) this[s] = this[s]+1
else this[s] = 1
}
これは意図した通りに動作しません。この入力:
テスト= { "A":1、 "B":1}
所望の結果である:
でvar test = new Map() test.inc("a"); test.inc("a"); test.inc("b");
結果
{"a":2、 "b":1}
キーはその値を存在しなかった場合、キーはオーケー1
にそのセットを存在しなかった場合、私は、このポインタは常に空のマップであることが判明し、デバッグした後1.悪い
まま。
だから私はこのというキーワードを実際に説明していないキーワードを読んだことがあります。 このは地図にする必要がありますか?
なぜこれが機能しないのですか?
これはかなり簡単なコードなので、どのように動作しているか知りたいのです。
私は誰かが私を助けることができます:)