确定一个Javascript对象有多少字段

前端之家收集整理的这篇文章主要介绍了确定一个Javascript对象有多少字段前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个 Javascript对象,我试图用作“hashmap”.钥匙总是字符串,所以我不认为我需要像 this SO question中描述的任何东西.(我也不希望键的数量超过10左右,所以我并不特别关心查找为O (n)对O(log n)等)

我想要的内置Javascript对象的唯一功能似乎没有,是快速找出对象中键/值对的数量,就像Java的Map.size返回的那样.当然,你可以做一些类似的事情:

function getObjectSize(myObject) {
  var count=0
  for (var key in myObject)
    count++
  return count
}

但这似乎是一个黑客和迂回.有没有一个“正确的方法”来获取对象中的字段数量

解决方法@H_502_10@
修正:您需要在每次迭代中检查myObject.hasOwnProperty(key),因为可以有继承的属性.例如,如果在循环Object.prototype.test =’test’之前这样做,测试将被计数.

并谈论你的问题:你可以定义一个帮助函数,如果速度并不重要.毕竟,我们定义了修剪功能和其他简单的工具.很多javascript是“有点黑客和迂回”:)

更新
失败的例子,按要求.

Object.prototype.test = 'test';
var x = {};
x['a'] = 1;
x['b'] = 2;

返回的计数将为3.

猜你在找的JavaScript相关文章