1. 程式人生 > >js遍歷for,forEach,for-in,for-of之間的區別

js遍歷for,forEach,for-in,for-of之間的區別

在js中經常要是用for迴圈遍歷陣列,物件;那for, forEach, for in, for of,之間有什麼區別呢?

let arr = [1,2,3,4,5]
a.a = 'a'
  1. for 原始的遍歷方法

程式設計式

for(var i =0; i<arr.length;i++){
	console.log(arr[i])
}
// 1
// 2
// 3
// 4
// 5
  1. forEach

宣告式(不關心如何實現的)
不支援return

arr.forEach(function(item){
	console.
log(item) }) // 1 // 2 // 3 // 4 // 5
  1. for in

key 會變成字串型別
包含陣列的私有屬性

for (let key in arr) {
    console.log(arr[key]);
}
// 0
// 1
// 2
// 3
// 4
// a
  1. for of

支援return
不遍歷私有屬性
不能遍歷物件

for (let val of arr){
    console.log(val)
}
// 1
// 2
// 3
// 4
// 5