js 获取对象的长度

5,582 阅读1分钟

方法一

var obj={org:”suoya”,det:”caiwu”}
var count=0;
for(var i in obj){
    count++;
}
console.log(count)//2
/**优化**/
var obj={org:”suoya”,det:”caiwu”}
var count=0;
for(var i in obj){
    if(obj.hasOwnProperty(i)){
    count++;
 }
}
console.log(count)//2

######hasOwnProperty只能判断自有属性是否存在,对于继承属性会返回false

方法二

######对象的长度不能用.length获取,用js原生的Object.keys可以获取到

var obj={org:”suoya”,det:”caiwu”}
var arr = Object.keys(obj);//['org','det']
arr.length;//2

######Object.keys() 方法会返回一个由给定对象的所有可枚举自身属性的属性名组成的数组,数组中属性名的排列顺序和使用for-in循环遍历该对象时返回的顺序一致(两者的主要区别是 for-in 还会遍历出一个对象从其原型链上继承到的可枚举属性)