map reduce实现累加器

文章介绍了在JavaScript中创建一个长度为100的数组,数组的每个元素为对应下标值,并使用map和reduce函数进行累加求和的三种不同实现方式:map+reduce、for循环+reduce以及newArray+join+split+map+reduce。
摘要由CSDN通过智能技术生成

需求:数组长度为100,每一项为对应下标,累加求和。

切题思路:

1.如何声明一个长度为100的数组?答:new Array(100)

2.数组每一项如何比前一项+1   答:map(item,index)index为数组下标,即索引值

3.如何求和?答:reduce可以实现累加器,也可以实现累乘器

声明一个数组,长度为100,值为索引值,并且求和(reduce累加器)

  • 实现方式一:map+reduce

  1.         /** 
             * 实现思路一:map+reduce
             */
            // 1.声明一个数组对象并且长度为100
            // 2.数组的每一项为0
            // 3.数字每一项为0改为相应的索引值
            // 4.使用reduce的累加器
            const myArr = new Array(100).fill(0).map((item, index) => {
                return index + 1
            })
            const total = myArr.reduce((total, num) => {
                return total + num
            })
            console.log('myArr>>>', myArr, 'total>>>', total);

     

  • 实现方式二:for循环+reduce

  1.         /**
             * 实现思路二:一个空数组,for+push
             */
            let listArr = []
            for (let i = 0; i < 100; i++) {
                listArr.push(i)
            }
            const total = listArr.reduce((total, num) => {
                return total + num
            })
            console.log('listArr>>>', listArr,'total>>>',total);

  • 实现方式三:map+reduce

        /**
         * 实现思路三:new Array()+join+split+map
         */
        const newArr = new Array(100).join().split(',').map((item, index) => {
            return index
        })
        const totalNum = myArr.reduce((total, num) => {
            return total + num
        })
        console.log('newArr>>>', newArr,'total>>>',total);

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值