使用Javascript的未定义数组参数

时间:2017-10-29 14:02:27

标签: javascript arrays

我无法理解为什么这个函数返回undefined:

function sumArray(array) {
  array.reduce(function(result, item) {
    return result + item;
  })
}

array = [1,2,3]

sumArray(array)

我尝试过类似的东西并且工作正常(下方),所以我不确定参数是否特定于数组?

function sayNumber(num) {
 return num + 1;
} 

num = 1

sayNumber(num)

4 个答案:

答案 0 :(得分:2)

您实际需要的是再添加一个return语句。

function sumArray(array) {
  //here
  return array.reduce(function(result, item) {
    return result + item;
  });
}

array = [1,2,3];

sumArray(array);
//6

答案 1 :(得分:0)

函数sumArray未返回array.reduce的结果。在return之前插入array.reduce

答案 2 :(得分:0)

返回undefined,因为sumArray函数没有return语句。

(传递给reduce的匿名函数有一个,但这是一个不同的函数。)

如果您想明确说明,请返回调用array.reduce的结果:

return array.reduce(etc, etc…

答案 3 :(得分:0)

您应该返回函数sumArray的值 像这样:

{
    "profile_1": {
        "email": "HelloWorld",
        "pswrd": "WorldHello123"
    }
} {
    "profile_2": {
        "email": "HelloWorld",
        "pswrd": "WorldHello123"
    }
} {
    "profile_3": {
        "email": "HelloWorld",
        "pswrd": "WorldHello123"
    }
}