【问题标题】:Function if and for loop for even numbers in const array函数 if 和 for 循环 const 数组中的偶数
【发布时间】:2020-05-08 01:46:13
【问题描述】:

我有这样的练习:你有桌子:const numbers = [2, 5, 7, 10, 34, 16, 879, 1]。编写一个函数,它将在控制台中打印一个新表,该表仅包含 numbers 表中的偶数。我的解决方案是: function evenNumbers(numbers){ for ( let num of numbers) if (num / 2) } 我不知道函数“if”对于“偶数”是否正确,我也不确定我是否抓住了“const numbers”来运行。我希望得到帮助 所以现在有了“过滤器”我有:function evenNumbers(number){ return number % 2 === 0} const parzyste = numbers.filter(evenNumbers) console.log(parzyste) 改版后正确吗?

【问题讨论】:

  • 偶数会有num % 2 === 0 - 当你调用函数时,提供包含数字的变量作为函数调用的参数
  • 所以“if(num/2)”我应该给出这个:“num % 2 === 0”?您能告诉我更多具体时态的第二部分吗?
  • 而不是for..of,考虑filter:let evens = numbers.filter(num => !(num % 2))

标签: javascript arrays function


【解决方案1】:

要检查一个数字是偶数还是奇数,您需要检查它的余数是否超过 2,为此您可以使用 % 运算符:

if (num%2 === 0) {
    // number is even, because the remainder is 0
}
else {
    // number is odd
}

【讨论】:

    【解决方案2】:

    您可以使用array filter() 使用条件num % 2 == 0 过滤偶数

    const numbers = [2, 5, 7, 10, 34, 16, 879, 1];
    
    function evenNumbers(numbers) {
      return numbers.filter(n => n % 2 == 0);
    }
    
    console.log(evenNumbers(numbers));

    或者,如果条件如下

    const numbers = [2, 5, 7, 10, 34, 16, 879, 1];
    
    function evenNumbers(numbers) {
      let evenNums = [];
    
      numbers.forEach(n => {
        if (n % 2 == 0) {
          evenNums.push(n);
        }
      });
    
      return evenNums;
    }
    
    console.log(evenNumbers(numbers));

    【讨论】:

      猜你喜欢
      • 2015-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-25
      • 2021-10-08
      • 1970-01-01
      • 2023-03-30
      • 2016-10-12
      相关资源
      最近更新 更多