前端ES6(4)——map+reduce

本文介绍了JavaScript中新增的map和reduce方法,map用于数组元素处理并创建新数组,reduce则用于对数组元素进行累加或其它操作。通过实例演示了如何使用这两个函数实现元素乘以2和求和。
摘要由CSDN通过智能技术生成

数组中新增了map和reduce方法

1.map

接收一个函数,将原数组中的所有元素用这个函数处理后放入新数组返回

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>map和reduce</title>
</head>
<body>
    <script>
        //数组中新增了map和reduce方法。
        //map():接收一个函数,将原数组中的所有元素用这个函数处理后放入新数组返回。
        let arr = ['1', '20', '-5', '3'];
        //  arr = arr.map((item)=>{
        //     return item*2
        //  });
        arr = arr.map(item => item * 2);
        console.log(arr);
    </script>
</body>

</html>

在这里插入图片描述

2.reduce

语法:arr.reduce(callback,[initialValue])
reduce 为数组中的每一个元素依次执行回调函数,不包括数组中被删除或从未被赋值的元素,接受四个参数:初始值(或者上一次回调函数的返回值),当前元素值,当前索引,调用 reduce 的数组。
callback (执行数组中每个值的函数,包含四个参数)
1、previousValue (上一次调用回调返回的值,或者是提供的初始值(initialValue))
2、currentValue (数组中当前被处理的元素)
3、index (当前元素在数组中的索引)
4、array (调用 reduce 的数组)
initialValue (作为第一次调用 callback )

 //reduce() 为数组中的每一个元素依次执行回调函数,不包括数组中被删除或从未被赋值的元素,
 //[2, 40, -10, 6]
  //arr.reduce(callback,[initialValue])
  /**
   1、previousValue (上一次调用回调返回的值,或者是提供的初始值(initialValue))
   2、currentValue (数组中当前被处理的元素)
   3、index (当前元素在数组中的索引)
   4、array (调用 reduce 的数组)*/
  let result = arr.reduce((a, b) => {
      console.log("上一次处理后:" + a);
      console.log("当前正在处理:" + b);
      return a + b;
  }, 100);
  console.log(result)

在这里插入图片描述

3.完整代码

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>map和reduce</title>
</head>

<body>
    <script>
        //数组中新增了map和reduce方法。
        //map():接收一个函数,将原数组中的所有元素用这个函数处理后放入新数组返回。
        let arr = ['1', '20', '-5', '3'];

        //  arr = arr.map((item)=>{
        //     return item*2
        //  });
        arr = arr.map(item => item * 2);
        console.log(arr);


        //reduce() 为数组中的每一个元素依次执行回调函数,不包括数组中被删除或从未被赋值的元素,
        //[2, 40, -10, 6]
        //arr.reduce(callback,[initialValue])
        /**
         1、previousValue (上一次调用回调返回的值,或者是提供的初始值(initialValue))
         2、currentValue (数组中当前被处理的元素)
         3、index (当前元素在数组中的索引)
         4、array (调用 reduce 的数组)*/
        let result = arr.reduce((a, b) => {
            console.log("上一次处理后:" + a);
            console.log("当前正在处理:" + b);
            return a + b;
        }, 100);
        console.log(result)
    </script>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值