js for in 获得遍历数组索引和对象属性

for in 遍历对象属性 获取的是对象的属性名

var person ={
name:"admin",
age:"21",
address:"shanghai"
};
for(var i in person){
console.log(i)
}

结果 取得对象的属性名

 

 

for in 获取数组的索引值

var array =['admin','manager','db'];
for(var i in array){
console.log(i)
}

结果 取得数组的索引值

 

当给数组的原型添加属性时,for in 会遍历到原型链上的属性

var array = ['admin','manager','db'];
Array.prototype.name = 'zhangsan';

for(var i in array){

console.log(array[i])

}

 

结果 for in 遍历到了原型链上的属性

 

这是变量i 遍历到的索引值

 

 

这时候只要判断是不是本身所有的属性就行了

 

var array = ['admin','manager','db'];
Array.prototype.name = 'zhangsan';

for(var i in array){

if(!array.hasOwnProperty(i)){
continue
}
console.log(array[i])

}

 

结果

 

参考文档:

Object.prototype.hasOwnProperty()

 

posted @ 2018-01-24 00:24  星耀学园  阅读(26010)  评论(0编辑  收藏  举报