map、forEcah、filter、find、reduce

一、forEach
循环遍历数组中的每一项,只能遍历数组
没有返回值,返回值为undefined,并且不可链式调用

forEach方法中的function回调有三个参数:
value参数是遍历的数组内容,
index参数是对应的数组索引,
array参数是数组本身

forEach 语法:

 array.forEach(function(value,index,array){
 
   //code something
    
  });

二、map
循环遍历数组中的每一项,只能遍历数组
必须return返回值,如果不给return,它会返回一个undefined,返回的值不会影响原数组,可链式调用

map方法中的function回调参数:
currentValue参数是遍历的数组内容,
index参数是对应的数组索引,
arr参数是可选,属于数组对象
thisValue参数是可选,回调的时候使用,传递给函数,可用做this值

forEach 语法:

 array.map(function(currentValue,index,arr){
 
   // return something
    
  },thisValue);

三、filter
循环全部的item, 过滤出符合条件的项,组合成新的数组返回
有返回值,可链式调用

filter方法中的function回调参数:
currentValue参数是遍历的数组内容,
index参数是对应的数组索引,
arr参数是可选,属于数组对象
thisValue参数是可选,回调的时候使用,传递给函数,可用做this值

filter语法:

 array.filter(function(currentValue,index,arr){
 
   // return something
    
  },thisValue);

四、find
循环item, 返回第一个符合条件的项有返回值

find方法中的function回调参数:
currentValue参数是遍历的数组内容,
index参数是对应的数组索引,
arr参数是可选,属于数组对象
thisValue参数是可选,回调的时候使用,传递给函数,可用做this值

find语法:

 array.find(function(currentValue,index,arr){
 
   // return something
    
  },thisValue);

四、reduce
相当于就是个有初始值的for循环,可同时将前面数组项遍历产生的结果与当前遍历项进行运算,这一点是其他迭代方法无法企及的。

prev 必需。累计器累计回调的返回值; 表示上一次调用回调时的返回值,或者初始值 init;
cur 必需。表示当前正在处理的数组元素;
index 可选。表示当前正在处理的数组元素的索引,若提供 init 值,则起始索引为- 0,否则起始索引为1;
arr 可选。表示原数组;
init 可选。表示初始值。

reduce语法:

arr.reduce(function(prev,cur,index,arr){
 // code something
}, init);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值