es6 map和Reduce

<body>
    <script>
        // //接收一个函数,将原数组中的所有元素用这个函数处理后放入新数组返回
        // let arr1 = ['1', '3', '8']
        // console.log(arr1);

        // //为数字乘以2返回
        // arr2 = arr1.map((item) => { return item * 2 });
        // console.log(arr2);

        // //简化函数
        // arr3 = arr1.map(item => item * 2);
        // console.log(arr3);


        //接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。
        // const arr = [1, 20, -5, 3];
        // arr.reduce((a,b) => {
        //     console.log(a);
        //     console.log(b);
        // },10)
        // //没有初始值:
        // console.log(arr.reduce((a, b) => a + b));//19
        // console.log(arr.reduce((a, b) => a * b));//-300
        // //指定初始值:
        // console.log(arr.reduce((a, b) => a + b, 1));//20
        // console.log(arr.reduce((a, b) => a * b, 0));//-0

        //var numbers = [1, 2, 3, 4];

        // function getSum(total, num) {
        //     return total + num;
        // }
        // console.log(numbers.reduce(getSum));

        //reduce(callback,initiaValue)会传入两个变量,回调函数(callback)和初始值(initiaValue)。
        //console.log(numbers.reduce((total, num) =>  total))

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

        //数组求和
        var arr = [1, 2, 3, 4];

        console.log(1);

        var sum = arr.reduce(function (prev, cur, index, arr) {
            //调试,实在不明白可以单步调试一下
            //debugger
            console.log(prev, cur, index, arr);
            //return prev + cur;
            return 1;
            //下面的指定pre的初始值为0
        }, 0)
        //console.log(arr, sum);


    </script>
</body>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值