【JavaScript】Object.create(null)

  • このエントリーをはてなブックマークに追加

Object.create(null)の活用
次のコードは単語が何回登場するかをカウントする。
このときcount.constructorが関数になってしまう。




var i;
var word;
var text =
        "This oracle of comfort has so pleased me, " +
        "That when I am in heaven I shall desire " +
        "To see what this child does, " +
        "and praise my Constructor.";

var words = text.toLowerCase(  ).split(/[\s,.]+/);
var count = {};
for (i = 0; i < words.length; i += 1) {
    word = words[i];
    if (count[word]) {
        count[word] += 1;
    } else {
        count[word] = 1;
    }
}

これを回避する手段は次の通り。
Object.create(null)が活躍する。


var i;
var word;
var text =
  "This Constructor oracle of comfort has so pleased me, " +
  "That when I am in heaven I shall desire " +
  "To see what this child does, " +
  "and praise my Constructor.";

var words = text.toLowerCase().split(/[\s,.]+/);
var count = Object.create(null);


for (i = 0; i < words.length; i += 1) {
  word = words[i];
  if (count[word]) {
    count[word] += 1;
  } else {
    count[word] = 1;
  }
}

  • このエントリーをはてなブックマークに追加

SNSでもご購読できます。

コメントを残す

*