使用Javascript未定义的数组参数
我不明白为什么这个函数返回未定义的:使用Javascript未定义的数组参数,javascript,arrays,Javascript,Arrays,我不明白为什么这个函数返回未定义的: 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
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)
您实际需要的是再添加一条
return
语句
function sumArray(array) {
//here
return array.reduce(function(result, item) {
return result + item;
});
}
array = [1,2,3];
sumArray(array);
//6
您实际需要的是再添加一条
return
语句
function sumArray(array) {
//here
return array.reduce(function(result, item) {
return result + item;
});
}
array = [1,2,3];
sumArray(array);
//6
函数
sumArray
没有从array.reduce
返回结果。在数组之前插入return
。reduce
函数sumArray
不会从数组返回结果。reduce
。在数组之前插入return
。reduce
它返回未定义的,因为sumArray
函数没有return语句
(传递给reduce
的匿名函数有一个,但这是一个不同的函数)
如果要返回调用array.reduce的结果,则必须明确说明:
return array.reduce(etc, etc…
它返回undefined
,因为sumArray
函数没有返回语句
(传递给reduce
的匿名函数有一个,但这是一个不同的函数)
如果要返回调用array.reduce的结果,则必须明确说明:
return array.reduce(etc, etc…
您应该返回函数sumArray的值
像这样:
function sumArray(array) {
return array.reduce(function(result, item) {
return result + item;
})
}
您应该返回函数sumArray的值
像这样:
function sumArray(array) {
return array.reduce(function(result, item) {
return result + item;
})
}
因为您的函数sumArray
不返回任何内容。任何没有显式返回内容的函数都会返回“undefined”。您只需调用array.reduce方法,但不返回它,因此它实际上没有任何要返回的内容,因为您的函数sumArray
不返回任何内容。任何没有显式返回内容的函数都会返回“undefined”。您只需调用array.reduce方法,但不返回该方法,因此它实际上没有任何需要执行的操作return@safikabis,很高兴提供帮助,欢迎使用Stack Overflow!如果此答案或任何其他答案解决了您的问题,请将其标记为已接受。@safikabis,很乐意提供帮助,欢迎使用Stack Overflow!如果此答案或任何其他答案解决了您的问题,请将其标记为已接受。