JavaScript中的for...in、for...of和forEach

一、for…in循环

for…in 语句用于遍历数组或者对象的属性(对数组或者对象的属性进行循环操作)。
它循环遍历的值都是数据结构的键值

let obj = {
    
    a: '1', b: '2', c: '3', d: '4'}
for (let o in obj) {
    
    
    console.log(o)    //遍历的实际上是对象的属性名称 a,b,c,d
    console.log(obj[o])  //这个才是属性对应的值1,2,3,4
}

for in也可以遍历数组,但不推荐,如果遍历数组则会遍历的是数组的索引

二、for…of循环

它是ES6中新增加的语法,用来循环获取一对键值对中的值

循环一个数组:

let arr = ['China', 'America', 'Korea']
for (let o of arr) {
    
    
    console.log(o) //China, America, Korea
}

循环一个对象:(报错)

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
}

三、forEach函数

forEach是ES5新增的方法,主要功能是遍历数组,有三个返回值:

arr.forEach(function(value,index,arrSelf){
    
    
	console.log(value);
	console.log(index);
	console.log(arrSelf);
})

value代表数组中的每一项
index代表数组中每一项的索引
arrSelf 代表调用的数组本身

猜你喜欢

转载自blog.csdn.net/weixin_44019523/article/details/113870793