Javascript HashMap.size()太慢?

Javascript HashMap.size()太慢?,javascript,performance,hashmap,size,Javascript,Performance,Hashmap,Size,我有一个HashMap并实现了一个.size()方法。这个看起来像这样 HashMap.prototype.size = function() { var count = 0; for(var prop in this) { if(this.hasOwnProperty(prop)) { count++; } } return count; }; 问题是,当我使用例如console.log(map.size())打印大小时,它总是返回零。但如果我在

我有一个HashMap并实现了一个.size()方法。这个看起来像这样

HashMap.prototype.size = function() {
var count = 0;

  for(var prop in this) {
    if(this.hasOwnProperty(prop)) {
      count++;
     }
  }

  return count;
};
问题是,当我使用例如console.log(map.size())打印大小时,它总是返回零。但如果我在此之前“等待”并发出警报,那么它就是正确的值

alert("STOP");
console.log(user_map.size());
地图的大小约为1300个键、值对


是否只有console.log()要快速且不等待返回值?或者,获取地图大小的最佳方法是什么?

uhm。。。JavaScript中的
HashMap
甚至可以做什么?一个普通的关联数组(也称为“对象”!)已经从哈希映射中完成了您想要的所有操作。我想问题不在于size方法,而在于代码中的其他地方。也许向hashmap添加内容的代码是异步的,并且在代码到达控制台输出之前没有完成。您是否有可能从URL加载数据?顺便说一句,这可能更快:return Object.keys(this.length);数据来自json文件,使用D3.js库读取。异步的事情听起来像是我的问题。