как я могу найти среднее в массиве - PullRequest
0 голосов
/ 02 февраля 2019

Я пытаюсь создать функцию, которая будет возвращать среднее значение баллов, но я застрял между циклами for, если кто-то может помочь мне понять, чего мне не хватает, это очень поможет

function getAverageTestScore(scores) {
  for(var i = 0; i < scores.length; i++){
   return scores[i]
  }
}

const avg = getAverageTestScore([80, 100]);
console.log(avg, '<-- should be 90');

Ответы [ 2 ]

0 голосов
/ 02 февраля 2019

Популярным и рекомендуемым способом лечения этих случаев является использование метода уменьшение , например, посмотрите на следующий пример

const scores = [10, 20, 30, 50, 10];
const average = scores.reduce((accumulator, currentValue, index, array) => {
  accumulator += currentValue;

  if (index === array.length - 1) {
      return accumulator / array.length;
  }

  return accumulator;
}, 0);

console.log(average);

Прежде чем перейти к MDN, прочитайте эту публикацию, в которой автор на практике делится другими распространенными сценариями, в которых использование сокращений имеет смысл.

В основномЭмпирическое правило может быть следующим: когда массив необходимо преобразовать в его компактную или обобщенную версию, вероятным способом является использование Reduce

0 голосов
/ 02 февраля 2019

Увеличить переменную на значение scores[i] и вернуть эту переменную, деленную на scores.length.Не return из for петли

function getAverageTestScore(scores) {
  let n = 0;
  for(var i = 0; i < scores.length; i++){
   n += scores[i];
  }
  return n / scores.length
}

const avg = getAverageTestScore([80, 100]);
console.log(avg, '<-- should be 90');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...