微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ES6中数组的forEach() 、map()、filter()、reduce()、some()、every()的用法

https://blog.csdn.net/weixin_45561258/article/details/107243689

 

一、forEach()循环数组
//ES5
var arr = [1,2,3,4,5];
for(var i=0;i<arr.length;i++){
   console.log(arr[i]);
   }
  • 1
  • 2
  • 3
  • 4
  • 5
 //ES6    
var arr = [1,2,3,4,5];
arr.forEach(function(item,index,arr){
    console.log(item);
});  

//ES6  forEach+箭头函数
var arr = [1, 2, 3, 4, 5];
arr.forEach((item,index,arr) => {
    console.log(item)       //结果为1,2,3,4,5
})
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

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

二、map(),遍历数组,返回一个新数组,不改变原数组的值。
var arr = [1, 2, 3, 4, 5];
arr.map((item, index, arr) => {
    return item * 10 //新数组为10,20,30,40,50
})
  • 1
  • 2
  • 3
  • 4
三、filter(),过滤数组,返回一个新的数组,不改变原始数组的值,过滤掉不符合条件的值
var arr = [1, 2, 3, 4, 5, 6];
arr.filter((item,index,arr) => {
    return item > 4 //新数组为[5,6]
})
  • 1
  • 2
  • 3
  • 4
四、reduce(),计算数组,不改变原始数组,返回新的数组,让数组的前后两项进行某种计算。然后返回其值,并继续计算,从数组的第二项开始遍历
var arr = [1,2,3,4];
arr.reduce((result, num, index) => {
    console.log(result) // 1  3  6  result为上次一计算的结果
    console.log(num)  // 2  3  4
    console.log(index) // 1  2  3
    return result + item //最终结果为10
})
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
五、some(), 遍历数组,不改变原始的数组,有一项返回true,则停止遍历,结果返回true
//有一项返回true,则停止遍历,结果返回true
var arr = [1, 2, 3, 4, 5];
arr.some((item,index,arr) => {
    return item > 3 //结果为true
})
  • 1
  • 2
  • 3
  • 4
  • 5
六、every(), 遍历数组,不改变原始的数组,有一项返回false,则停止遍历,结果返回false
//有一项返回false,则停止遍历,结果返回false
var arr = [1,2,3,4];
arr.every((item,index,arr) => {
    return item > 1 //结果为false
})

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐