如何检查对象/字典中是否存在属性?

Sco*_*ott 0 javascript dictionary node.js

我遍历字的数组,并试图他们的东西在对象文本,所以我可以分配的那些话多少次发生的每个单词字面/字典中的值.问题是我需要检查以确保该单词尚未添加到我的文字中.我试图in用来检查文字中是否存在属性,但是它引发了一个错误:

Cannot use 'in' operator to search for 'We' in undefined

这是有问题的功能:

我评论了引起问题的那条线

function wordCountDict(filename) {
   wordCount = {};
   inputFile = fs.readFile( root + filename, 'utf8', function( error, data ) {  
      if(error) {
         console.log('error: ', error) 
         return false;
      }

      var words = data.split(" ");
      for (i in words) {

         if(words[i] in wordCount) {  // This is where the problem occurs
            wordCount[words[i]]++;
         } else {
            wordCount[words[i]] = 1;
         }
         console.log(words[i]);
      }

   });
}
Run Code Online (Sandbox Code Playgroud)

我来自python,这始终是实现这一目标的最好/最简单的方法,但javascript似乎并不同意.

我如何在JavaScript中执行此操作?

atd*_*ago 5

声明wordCount为该函数的局部变量.它可能会在其他地方被覆盖:

function wordCountDict(filename) {
    var wordCount = {};
    ...
}
Run Code Online (Sandbox Code Playgroud)