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) {
}
}
}
我试图用这段代码来做,但是我无法完成它。 你能告诉我一些方法吗?我怎么能得到这个结果?
答案 0 :(得分:0)
我相信这里的问题是,如何在不使用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);
答案 1 :(得分:0)
最后,我完成了使用回调函数创建自己的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
您想请我投票...