forEach,for in ,for of 的区别
- forEach 不支持return
- for…in… key会变成字符串类型,包括数组的私有属性
for…in…主要是用来遍历对象的
var arr = [12,32,45,65,23,43]
arr.b = 100
for(key in arr){
console.log(key)
}
//打印出来的结果 0,1,2,3,4,5,b
- for…of…(值 of 数组),不遍历私有属性
var arr = [12,32,45,65,23,43]
for(val of arr){
console.log(val)
}
//12,32,45,65,23,43
for…of…不能遍历对象
let obj = {a: '1', b: '2', c: '3', d: '4'}
for (let o of obj) {
console.log(o) //Uncaught TypeError: obj[Symbol.iterator] is not a function
}
可以使用Object.keys(obj) 来遍历前面的key值
可以使用Object.values(obj) 来遍历value值