之前写过map,forEach,现在用到every和some,记录一下当作学习笔记,方便以后翻阅。
forEach是没有返回值的,对原数组进行修改;
// forEach没有返回值,只针对每个元素调用func。
const array = [1, 2, 3, 4];
array.forEach((value, index) => {
if(value > 3){
console.log(value)/*4*/
return false;//没有返回值,ruturn false 仍向下执行
}else{
console.log(value)/*1 2 3*/
return true;
}
});
map是有返回值的,可以return出来。
const array = [1, 2, 3, 4];
let arr = [];
arr = array.map((value, index) => {
return value * 2;
});
console.log(arr);/*[2, 4, 6, 8]*/
every:
//every()当内部return false时跳出整个循环
const list = [10, 12, 13];
list.every((value, index) => {
if(value > 12){
console.log(value) /*13*/
return false;
}else{
console.log(value)/*10,12*/
return true;/*这个return true也要写,没有的话会直接跳出循环*/
}
});
some:
some 当内部return true时跳出整个循环
const array = [11, 12, 13, 14];
array.some((value, index) => {
if(value === 13){
return true;//当内部return true时跳出整个循环
}
console.log(value)/*11 12*/
});