Javascript 为什么我没有定义这个过滤函数?

Javascript 为什么我没有定义这个过滤函数?,javascript,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) {

我对编程还是有点陌生,我已经花了一个小时来处理这段代码,但仍然不明白为什么它的响应是未定义的。我试过两种不同的方法。 第一种方法: 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]);

我知道filter方法是有效的,但我不明白为什么它返回未定义。任何帮助都将不胜感激。谢谢你抽出时间

您的函数缺少返回语句:

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

为了进一步简化,它可能应该是return arr.filter…哦,天哪,就是这么简单!非常感谢你,我可以继续我的工作了。你们是救命恩人!