首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何用reduce()代替reduce()得到相同的结果?

如何用reduce()代替reduce()得到相同的结果?
EN

Stack Overflow用户
提问于 2018-07-27 03:16:27
回答 2查看 63关注 0票数 0
let arr = [2,4,3,6,90]

let res = arr.reduce((a, b) => {
    return a + b
})

console.log(res);

我使用reduce()实现了这一点。现在我想用纯javascript中的另一种方法来得到同样的结果。

function myReduce(arr, callBack) {

    let newReduce;

    for (let i = 0; i < arr.length; i++) {

        if (newReduce === null) {

        }

    }

}

我试着用这段代码来做,但是我不能让它工作。所以你能告诉我一些方法吗?怎样才能得到这个结果呢?

EN

回答 2

Stack Overflow用户

发布于 2018-07-27 03:29:16

我认为这里的问题是,如何在不使用reduce运算符的情况下执行reduce操作。

reduce操作的功能是接受多个数组值并对其进行缩减或将其归结为单个值。示例:

[1,2,3].reduce((total,num)=>{
 return total + num
}, 0);

这将返回6.0,这里是您想要开始的初始值。

在你的例子中,代码应该是这样的-

    let arr = [2,4,3,6,90];
    let total = 0;

    for ( let i = 0; i < arr.length; i++ ){
    total += arr[i];
    }

    console.log(total);
票数 0
EN

Stack Overflow用户

发布于 2018-07-27 03:50:42

最后,我完成了这项工作来创建我自己的带有回调函数的reduce()。我被试着做一些不同的事情,谢天谢地,我得到了结果。这是我的代码。感谢您分享您的知识

let arr = [2,4,3,6,90]

function myReduce(arr, callBack) {

    let newReduce;

    for (let i = 0; i < arr.length; i++) {

        if (newReduce === undefined) {
            newReduce = arr[i]
        }else {
            newReduce = callBack(newReduce, arr[i])
        }

    }

    return newReduce

}

let res = myReduce(arr, function (a, b) {
    return a + b
})

res

请投票给我的问题..。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51546090

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档