一尘不染

如何有效地计算JavaScript中对象的键/属性数量?

javascript

计算对象的键/属性数量的最快方法是什么?是否可以在不迭代对象的情况下执行此操作?即不做

var count = 0;
for (k in myobj) if (myobj.hasOwnProperty(k)) count++;

(Firefox确实提供了一个魔术__count__属性,但是在版本4的某个位置将其删除。)


阅读 422

收藏
2020-04-25

共1个答案

一尘不染

要在任何与 ES5兼容的环境 (例如Node,Chrome,IE 9+,Firefox 4+或Safari
5+)中执行此操作:

Object.keys(obj).length
  • 浏览器兼容性
  • Object.keys文档(包括可以添加到非ES5浏览器的方法)
2020-04-25