计算object的长度

在很多时候我们需要知道一个对象的数据长度,但是不能直接计算,只能自己写方法,现在就介绍几种方法

  var obj={
    a:1,
    b:2,
    c:3
  }

1、在object的原型对象上扩展,这种方法属于可以装逼的方法

Object.prototype.length = function() {
var count = 0;
for(var i in this){
count ++;
}
return count;
};  
2普通的封装函数
function countobj(obj){
var count = 0;
for(var key in obj){
if(Object.prototype.hasOwnProperty.call(obj,key)){
     count++;
     }
   }
return count;
}
var objlength=countobj(obj)
为了方便,
Object.prototype.hasOwnProperty.call(obj,key)也可以写成obj.hasOwnProperty(key),过滤原型对象中的属性
3、object中自带一个keys方法,可以将object的key存储为一个数组
var objKeys=Object.keys(obj);
console.log(objKeys)
console.log(objKeys.length)
 
 
posted @ 2017-09-05 19:33  柒偌然-初学者  阅读(437)  评论(0编辑  收藏  举报