javascript 我不得不使用filter()方法重构一个函数,但是失败了

jogvjijk  于 2023-01-07  发布在  Java
关注(0)|答案(1)|浏览(134)

该函数的原始代码为:

getGreaterThan: function(input) {
  let greaterValues = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
  let greaterNums = [];
  for (let j = 0; j < greaterValues.length; j++) {
    if (greaterValues[j] > parseInt(input)) {
      greaterNums.push(greaterValues[j]);
    }
  }
  return greaterNums;
}

这是我的实现:

return [parseInt(input).filter((greaterNum) => input < greaterNum)];]

我该如何着手处理这件事?

pengsaosao

pengsaosao1#

您应该过滤greaterValues,而不是parseInt(input)
没有必要在返回值周围放置[]filter()本身返回一个数组。

getGreaterThan: function(input) {
  const greaterValues = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
  input = parseInt(input); // no need to do this each time through the loop
  return greaterValues.filter(val => val > input);
}

相关问题