平常开发中咱们不免须要对数组和对象进行遍历,今天抽空来总结下遍历数组和对象经常使用的方法。数组
咱们定义一个数组 var arr = [2,4,6];spa
1.使用for循环遍历
var length = arr.length; for(var i = 0;i < length; i++){ console.log(i,arr[i]) }
2.使用forEach遍历
arr.forEach((val,index)=>{ console.log(val,index); })
3.使用for in 遍历
for(var key in arr){ console.log(key,arr[key]); }
4.使用for of 遍历
for(var key in arr){ console.log(key,arr[key]); }
咱们先定义一个简单的对象 var obj = {a:22,b:44}code
1.使用for in遍历
for(var key in obj){ console.log(key, obj[key]); }
注:for in会遍历对象的每个可枚举的属性,包括原型链上的可枚举属性。对象
2.使用Object.keys()遍历对象
Object.keys(obj).forEach(val=>{console.log(val)})
注:Object.keys()只能遍历出自身可枚举的属性,而不能遍历出原型链上面的属性。图片
3.使用Object.getOwnPropertyNames()遍历
Object.getOwnPropertyNames(obj).forEach(val=>{console.log(val,obj[val])})
注:Object.getOwnPropertyNames()只能遍历自身的属性(不管是否可枚举都可以遍历出),可是不包括原型链上的属性。ip
4.使用Reflect.ownKeys()遍历
Reflect.ownKeys(obj).forEach(val=>{console.log(val, obj[val])})