当前位置: 首页 > Web前端 > JavaScript

JS数组迭代方法重构--every(),some(),filter(),map(),forEach()

时间:2023-03-27 14:14:10 JavaScript

Array.prototype.every()every()方法用于检测是否数组的所有元素符合指定条件(通过函数提供)。every()方法使用指定函数检查数组中的所有元素:如果检测到数组中的某个元素不满足要求,则整个表达式返回false,并且不再检查其余元素。如果所有元素都满足条件,则返回true。注意:every()不检查空数组。注意:every()不会改变原始数组。//every()方法用于检测数组的所有元素是否满足指定条件(由函数提供Array.prototype.myEvery=function(fun,obj){//funobjconsole.log(obj,'obj');for(i=0;i1;//returnfalse//短路原理1>1不是大于短路停止检测数组},{name:'zhang'})//把这个改成指向第二个参数console.log(result,'result');//falseArray.prototype.some()some()方法用于检测是否数组中的元素满足指定的条件(由函数提供)。some()方法会依次执行数组的每个元素:如果一个元素满足条件,则表达式返回true,其余元素不执行检测。如果没有满足条件的元素,则返回false。注意:some()不会检查空数组。注意:some()不会改变原始数组。//some()方法用于检测数组中的元素是否满足指定条件(函数提供)//如果有一个元素满足条件,则表达式返回*true*,其余元素不执行检测Array.prototype。mySome=function(fun,obj){//funobjfor(i=0;i1;//短路原理1>1不大于短路//满足2>1如果条件打印输出为真,停止检测数组},{name:'zhang'})//改这个指向第二个参数console.log(result);//true//数组的第二个元素满足条件,返回trueArray。prototype.filter()filter()方法创建一个新数组,通过检查指定数组中满足条件的所有元素来检查其元素。注意:filter()不会检查空数组。注意:filter()不会改变原始数组。//filter()方法创建一个新数组,通过检查指定数组中所有满足条件的元素来检查新数组中的元素//MainfunctionArray.prototype.myFilter=function(fun,obj){//创建一个新数组varresult=[];for(i=0;i2;//数组索引值累加},{name:'zhang'})//把这个指向第二个参数console.日志(结果);//[2,3,4,5]//返回一个新的数组,数组中的元素是调用原数组元素Array.prototype.map()map()方法的函数处理后的值返回一个新的数组,数组中的元素是调用函数后原数组元素处理后的值。map()方法按原始数组元素顺序依次处理元素。注意:map()不会检查空数组。注意:map()不会改变原始数组。//map()方法返回一个新的数组,数组中的元素是调用原数组元素的函数处理后的值Array.prototype.myMap=function(fun,obj){varresult=[];for(i=0;i