Javascript 如何返回奇数数组

新手上路,请多包涵

我正在尝试返回一组数字

     function numbers(l, r) {
      // l and r are any given numbers
      var x=[];
      var i=l;
      while(x.push(i++)<r){};
      return x;
    }

console.log(numbers(10, 19));

到目前为止,一切都很好。现在我想得到奇数。我怎样才能做到这一点?

原文由 ST80 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 399
2 个回答

x.filter(n => n%2) 将只保留奇数。

如果 n 是偶数, n%2 将返回 0 并且该项目将被过滤器删除。

 let arr = [1,2,3,4,5,6,7,8,9,10,11,12]

let odds = arr.filter(n => n%2)

console.log(odds)

原文由 Jeremy Thille 发布,翻译遵循 CC BY-SA 3.0 许可协议

Provided two values l (starting point) and r (ending point) you would create your array from l to r in increments of +1。使用该数组过滤满足 mod 2% 2 标准的所需值。仅供参考 mod 2 返回 0 如果值为偶数或 1 如果值为奇数。 filter() 方法创建一个新数组,其中包含通过提供的函数实现的测试的所有元素( https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter ) .请注意,在 JavaScript 中 0 是一个 falsy 值,因此只返回像 1 这样的正整数值,因此数组由导致 n % 2 dab 的所有值组成到 1。

 function oddNumbers(l, r) {
    let arr = [];
    while (l <= r) {
        arr.push(l);
        l += 1;
    };
    return arr.filter(n => n % 2);
}

原文由 PaoPao 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏