在很多语言都会遍历数组,在恋夜2js中也是如叩叩叭此,最常见的莫过于下面这种:

let a = ['x','y','z']ipx921;
for(let i=0;i
console.log(a[i]);
}

定义变量i,然后让这个变量作自+1操作,知道这个变量小于数组的长度。然后根据下标获取数组中的每个值。

相对于上面这种,我们可以对数我是苏晓苑组进行for-in循环:

let a = ['x','y','z'];
for(let i in a){
console.log(a[i])
}

for-in是对object作遍历时用到的。由于arra情笔金坚y继承自object,所以数组也可以进行for-红尘都市完整版txtin循环红细胞偏高,狗狗图片,鸡爪怎么做好吃,注意f苏志懿or-in循环的左值为数组的下标

还有一个类似的处理为for-of循环,

let a = ['x','y','z'];
for(let i of a){
console.为什么中科软那么缺人log(i);
}

但是for-of循环的话对数组可以使用,但是对osquirterbject实例神医朱丹溪使用时会报错。

let b = {
x:'x包晓琳',
y:'y',
z:'z'
}
for(let i of b)亚塔乐队{
console.log(i);// TypeError: b is not iterable
}既重政绩又重

可以猜想for-of循环本身是应用在迭代器iterable类,但是数组为什么也是可以用的!!!,注意for-of循环的左值为数组value值。

还有2种源自Array的构造器函数的原型:

let a = ['x','y','z'];
a.forEach((_a,i)=>{
console.log(_a,i);
})
a.map((_a,i)=>{宁铂出家多年居然还俗
console.log(_a,i);
})

forEach方法和map方法都是数组原型上的方法,参数都是一个函数(下面称为回调函数),并且这个函数传入2个参数(value,key),我们可以在这个函数内部黑侠vs赌圣对数组进行循环遍历操作。那为什么要在原型上添加两个一样的方法呢??

其实从定义的方法明我们可以看到这两个方法应该是阳宅风水出人才口诀有区别的:

let a = ['x','y','z'];
console.log(a.forEach((_a,i)=>_a))//undefined
console.log(a.map((_a,i)云筝=>_a))//["x", "y", "z"]

从上面的函数我们可以看到蒋西元是什么人,当我们给forEach方法和map方法的回调函数添加返回值时,我们发现map方法将回调函数的返回映射到一个数组中,而fo嘉年华思晴大王照片rEach的返回则为空。