js 各种循环语法
2021-09-19 03:13
forEach() //调用数组每个元素,并将元素传递给回调函数(注意没有办法跳出或终止forEach语句,除非抛出异常)array.forEach(function(value, index, arr),thisValue) value:必须,代表当前元素,其他四个参数都是可选,index代表当前索引值,arr代表当前的数组,thisValue代表传递给函数的值,一般用this值,如果这个参数为空,undefined会传递给this值 返回值:undefined 例: num=[1,2,3,4,5] num.forEach(number => { console.log(num) //1 2 3 4 5 }); map() //返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值 array.map(function(value, index, arr),thisValue) value:必须,代表当前元素,其他四个参数都是可选,index代表当前索引值,arr代表当前的数组,thisValue代表传递给函数的值,一般用this值,如果这个参数为空,undefined会传递给this值 返回值:返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值 var num=[1,2,3,4,5] var dnum=num.map(number=>{ return number*2 }) console.log(dnum) //[2,4,6,8,10] find() //返回通过测试的数组的第一个元素的值array.find(function(value, index, arr),thisValue)value:必须,代表当前元素,其他四个参数都是可选,index代表当前索引值,arr代表当前的数组,thisValue代表传递给函数的值,一般用this值,如果这个参数为空,undefined会传递给this值var arr = [1,2,3,4,5,6,7]; var ar = arr.find(function(elem){ return elem>5; });console.log(ar);//6console.log(arr);//[1,2,3,4,5,6,7] filter() //创建一个新数组,新数组中的元素是通过检查指定数组中符合条件的所有元素array.filter(function(value, index, arr),thisValue)value:必须,代表当前元素,其他四个参数都是可选,index代表当前索引值,arr代表当前的数组,thisValue代表传递给函数的值,一般用this值,如果这个参数为空,undefined会传递给this值var arr = [1,2,3,4,5,6,7]; var ar = arr.filter(function(elem){ return elem>5; }); console.log(ar);//[6,7]console.log(arr);//[1,2,3,4,5,6,7] every() some() every 若目标数组中每一个对象都符合条件则返回true,否则返回false some 若目标数组中有一个或一个以上的对象符合条件的返回true,否则返回false var users = [ {name:"Jill",age:10}, {name:"Alex",age:18}, {name:"Bill",age:20}, {name:"Tony",age:24} ]; var isAdult_every=users.every(user=>{ return user.age>18; }) var isAdult_some=users.some(user=>{ return user.age>18; }) console.log(isAdult_every) //false console.log(isAdult_some) //true reduce() 常用于叠加,可以代替forEach等 var numbers = [1,2,3,4,5]; var sumValue = numbers.reduce(function(sum,number2){ //第一个参数为叠加总值,需要初始化,第二个参数是当前项 return sum + number2; },0); //sum的初始化 console.log(sumValue); //15