为什么我的过滤功能未定义?

时间:2015-07-22 21:05:58

标签: javascript

我对编程还有点新意,我已经把这段代码弄乱了一个小时,仍然无法弄清楚为什么它会以未定义的方式响应。我尝试过两种不同的方式。 第一种方法: var myArr = [1,2,3,4,5];

function oddBall(arr) {
  var oddNumbers = arr.filter(function(x) {
    return x % 2 === 1;
  });
}

console.log(oddBall(myArr));

第二种方法:

function oddBall(arr) {
 arr = arr.filter(function(x) {
  return x % 2 === 1;
 });
}

oddBall([1, 2, 3, 4, 5]);

我知道过滤方法正在运行,但我很难知道为什么它返回undefined。任何帮助,将不胜感激。感谢您的时间。

1 个答案:

答案 0 :(得分:4)

你的函数缺少一个return语句:

function oddBall(arr) {
  return arr.filter(function(x) {
    return x % 2 === 1;
  });
}