温习一遍原生js中的for,forEach,map, some, every用法总结,及其跳出循环的方法
1.for循环 适用于任何循环应用场景
https://www.runoob.com/js/js-loop-for.html
(while循环体和for类似,满足条件就跳出)
const arr = [1,2,3,4,5,6];
for(let i in arr) {
console.log(i);
// return; // 报错 Uncaught SyntaxError: Illegal return statement
// break; //跳出整个循环
// continue; //满足条件时,只跳出当前这轮循环。下轮循环继续
}
2.forEach 遍历
适用于便利数据,中途不可停止
https://www.runoob.com/jsref/jsref-foreach.html
[1,2,3,4,5,6].forEach((item,i,arr)=>{
console.log(item); //元素item
console.log(i); //数组下标
console.log(arr); //原生数组
// return; //满足条件只阻止并跳出当前这轮循环,下一轮循环继续
// break; //无效报错
// continue; //无效报错
})
3.Map 遍历方法
适用于返回接受一个新数组
https://www.runoob.com/jsref/jsref-map.html
let arr = [1,2,3,4,5,6].map(()=>{
// 没有跳出概念,只会返回一个新数组用于新值接受
return true;
});
console.log(arr); //[true, true, true, true, true, true]
4.every方法
适用于 检索数组中所有的item数据是否"全都"满足某条件,并返回布尔值。
https://www.runoob.com/jsref/jsref-every.html
const arr =[1,2,3,4,5,6];
let resBool = arr.every((item)=>{
// return false; //false 会跳出遍历并停止 返回false
return item>0; // true => 每条item都大于0,返回 true
// 必须得有返回值 true OR false 否则 默认为return false
});
console.log(resBool); // true
5.some方法
适用于 检索数组中是否"有一项"满足某条件,并返回布尔值。
https://www.runoob.com/jsref/jsref-some.html
const arr = [1,2,3,4,5,6];
let bool = arr.some((item) =>{
// return item >8; //false 返回 false 没有一条满足,会跳出遍历并停止 返回false
return item >5; // true => 有一条item大于5,满足,跳出循环遍历,返回 true
// 必须得写return true OR return false;否则 默认为return false
});
console.log(bool); // true