之前写过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*/ });