平常開發中咱們不免須要對數組和對象進行遍歷,今天抽空來總結下遍歷數組和對象經常使用的方法。數組
咱們定義一個數組 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])})