首页 > 其他 > 详细

map() reduce() filter() 与 forEach()

时间:2021-08-19 08:26:55      阅读:22      评论:0      收藏:0      [点我收藏+]

1. map()

  • 遍历元素
  • 不改变原数组arr
  • 返回值为数组
let brr = [];
let arr = [1, 2, 3]
  brr = arr.map(function (item, index, array) {
    return 2 * item;
  });
  console.log(brr);  //[1, 2, 3]
  console.log(brr);  //[2, 4, 6]
});

2. forEach()

  • 遍历数组
  • 没有返回值(除此之外和map好像没什么区别)
  • 不改变原数组

3. reduce()

  • 遍历元素
  • 有返回值
  • 不改变原数组
brr = arr.reduce(function(prev, next, index, array) {
  /*执行方式(以arr = [1, 2, 3] 为例):
    第1次:prev=1 就取的arr[0]; next=2 就是arr[1]; index=1 就是next的下标; array 就是arr
    第2次:prev=3 因为return prev+next 此时的prev就是第一次的prev+next; next=3 就是arr[2];index=2 就是next的下标; array就是arr
    第3次(这一次有执行,但不打印):prev=6 第3次prev = 第2次prev+第2次next = 3+3
  */
  return prev + next;
});
console.log(brr);  // 6 就是第三次的返回值

4. filter() 过滤器

  • 遍历元素
  • 不改变原数组
  • 过滤出数组中满足条件的元素
  • 返回值为数组
brr = arr.filter(function (item, index, array) {
  return item >= 2;  //过滤出大于等于 2 的元素
});
console.log(brr);  //[2, 3]

map() reduce() filter() 与 forEach()

原文:https://www.cnblogs.com/Lilc20201212/p/15159438.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!