gpt4 book ai didi

javascript reduce 未定义

转载 作者:行者123 更新时间:2023-11-28 15:07:46 24 4
gpt4 key购买 nike

我变得不确定。该代码无需该功能即可运行。我做错了什么?

var myArr = [ 1, 2, 3, 4, 5 ];

function getSums(arr) {
arr.reduce(a => a+1, 0);
}

document.write(getSums(myArr));

最佳答案

三个问题:

  1. 使用reduce时,您(至少)使用前两个参数:累加器和当前条目。 (它还有其他参数,但前两个是最常用的。)

  2. 您的逻辑只是执行 a + 1,这并不是将数组中的值相加在一起,而是将 1 添加到该条目的值中。

  3. 您需要从 getSums 函数返回reduce 返回的值。

所以:

var myArr = [ 1, 2, 3, 4, 5 ];

function getSums(arr) {
return arr.reduce((sum, a) => sum + a, 0);
//^^^^^^ ^^^^ ^ ^^^^^^
}

console.log(getSums(myArr));

或者您可以使用箭头语法定义 getSums,然后如果您使用简洁的函数体,则将隐含返回:

var myArr = [ 1, 2, 3, 4, 5 ];

let getSums = arr => arr.reduce((sum, a) => sum + a, 0);

console.log(getSums(myArr));

关于javascript reduce 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38172648/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com