Мне нужно написать функцию "checkArray", которая получает массив случайных чисел и возвращает сумму чисел больше 5 - PullRequest
0 голосов
/ 17 апреля 2020

Мне нужно написать функцию "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));

На самом деле это не работает

Ответы [ 3 ]

2 голосов
/ 17 апреля 2020

Это то, что вам нужно?

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));
0 голосов
/ 17 апреля 2020
function checkArray(a) {
  var total = a
  .filter((e) => e > 5)
  .reduce((sum, e) => {
    return sum + e;
  });
  return total;
}
0 голосов
/ 17 апреля 2020

Похоже, вы скопировали код из 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]));
...