一、普通for循环
例:
let arr=[1,2,3];
for (let i=0; i<arr.length; i++) {
console.log(arr[i]);
}
输出结果:1;2;3
说明:这个大家都很常见,以数组下标(i)遍历查询数组结构
二、for...in...循环
例:
let arr=[1,2,3];
for (let i in arr) {
console.log(arr[i]);
}
输出结果:1;2;3
说明:同普通for循环,以key遍历查询数组或对象
三、for...of...循环
例:
let arr=[1,2,3];
for (let item of arr) {
console.log(item );
}
输出结果:1;2;3
说明:同普通for循环,以value遍历查询数组或对象
补充:与第二种循环方式不同,这种方法是以value遍历。因为是ES6引入的新特性,所以整体上比第二种循环方式更好用,只是无法直接使用数组索引index,具体使用需要结合业务逻辑来用。
四、while循环
例:
let arr=[1,2,3];
let num=0;
while (num < 3) {
console.log(arr[num]);
num++;
}
输出结果:1;2;3
说明:先判断,再执行,用于条件选择遍历数组
五、do...while...循环
例:
let arr=[1,2,3];
let num=0;
do {
console.log(arr[num]);
num++;
} while(num < 3)
输出结果:1;2;3
说明:先执行,再判断,用于条件选择遍历数组
六、map循环
例:
let arr=[1,2,3];
arr.map((item, index, arr)=>{
console.log(item+" "+index+" "+arr);
});
输出结果:1 0 1,2,3
2 1 1,2,3
3 2 1,2,3
item:每个数组元素;
index:数组索引;
arr:需要遍历的数组
说明:js自带的map方法,也是常见的数组遍历方法,重点是支持return返回值
七、every循环
例:
let arr=[true, true, true];
let result=arr.every((item, index) => {
return item;
}) ;
console.log(result);
输出结果:true
let arr=[true, false, true];
let result=arr.every((item, index) => {
return item;
}) ;
console.log(result);
输出结果:false
item:每个数组元素;
index:数组索引;
说明:从上面两个例子可以看出,every方法必须返回Boolean类型的值,当遍历条件都成立时,整体返回true;否则,返回false,适用于遍历验证的场合。
八、some循环
例:
let arr=[false, false, false];
let result=arr.some((item, index) => {
return item;
}) ;
console.log(result);
输出结果:false
let arr=[false, true, false];
let result=arr.some((item, index) => {
return item;
}) ;
console.log(result);
输出结果:true
item:每个数组元素;
index:数组索引;
说明:从上面两个例子可以看出,some方法必须返回Boolean类型的值,它与every方法完全相反。当遍历条件中有一个成立,整体返回true;否则,返回false,适用于遍历验证的场合。