温習一遍原生js中的for,forEach,map, some, every用法總結,及其跳出循環的方法
1.for循環 適用於任何循環應用場景
https://www.runoob.com/js/js-...
(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/...
[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/...
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/...
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/...
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