【问题标题】:I need to write a function "checkArray" which receives an array of random numbers and return the sum of the numbers bigger than 5我需要编写一个函数“checkArray”,它接收一个随机数数组并返回大于 5 的数字之和
【发布时间】:2020-04-17 14:29:38
【问题描述】:

我需要编写一个函数“checkArray”,它接收一个随机数数组(使用 giveMeRandom 创建)并为每个项目打印它是否大于 5。 该函数返回大于 5 的数字之和。

const checkArray = function(n) {
    let sum = 0;
    let newArr = [];

    for(i = 0; i < n; i++) {
        newArr.push(Math.floor(Math.random() * 10)); 
        if (newArr[i] > 5) {
            sum += newArr[i]
        }
        return sum;
    }

    return newArr;
}

console.log(checkArray(6));

其实不行

【问题讨论】:

  • 能否也提供函数giveMeRandomcheckArray 接收到的是 number 而不是数组。
  • 你说它应该接收一个数字数组,但在你的例子中它只接收一个数字,它是哪个?

标签: javascript function random


【解决方案1】:

这是你需要的吗?

const checkArray = function(n) {
    let sum = 0;
    let newArr = [];

    for(i = 0; i < n; i++) {
        newArr.push(Math.floor(Math.random() * 10)); 
        if (newArr[i] > 5) {
            sum += newArr[i]
        }
    }

    return sum;
}

console.log(checkArray(6));

【讨论】:

    【解决方案2】:

    看起来您从 giveMeRandom 复制了代码,而不是编写新函数。这应该符合您的描述。

    // n should be an array of numbers
    const checkArray = function(n) {
        return n.reduce(function (sum, num) {
          if (num > 5) {
            console.log(num  + " is greater than 5");
            return sum + num;
          }
          
          return sum;
        }, 0)
    }
    
    console.log(checkArray([4, 5, 6, 7]));

    【讨论】:

      【解决方案3】:
      function checkArray(a) {
        var total = a
        .filter((e) => e > 5)
        .reduce((sum, e) => {
          return sum + e;
        });
        return total;
      }
      

      【讨论】:

        猜你喜欢
        • 2016-04-11
        • 2018-02-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-07-12
        • 2021-03-30
        • 2022-11-15
        相关资源
        最近更新 更多