@oprk21fjin3

Добавление в пустой массив индекса через .push?

Повторяю задачку из книги по js.Суть: есть массив с набором целых чисел.Нужно вывести в консольку:1) всего кол-во чисел(индексов), 2) наибольшее число, 3)неск. наибольших чисел.Первые два пункта при запуске работают, а вот третий нет.
let scores = [69, 67, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50];

function printAndGetHighScore(scores) {
    let output;
    let highScore = 0;
for (let i = 0; i < scores.length; i++)  {
    output = "Bule solution #" + i + " score: " + scores[i];
    console.log(output);
if (scores[i] > highScore) {
    highScore = scores[i];
}
} return highScore;
}


function getBestResults (scores, highScore) {
    let bestSolutions = [];
for (let i = 0;  i < scores.length; i++) {
if (scores[i] == highScore) {
    bestSolutions.push(i);
}
} return bestSolutions
}

let highScore = printAndGetHighScore(scores);
console.log("Bubbles tests: " + scores.length);
console.log("Highest bubble score: " + highScore);

let bestSolutions = getBestResults (scores, highScore)
console.log("Solution with the highest score: " + bestSolutions);

Как я понимаю мы добавляем в пустой массив индекс(наибольшее число) через .push(i)
Но результат 0.Помогите, как исправить?
  • Вопрос задан
  • 61 просмотр
Пригласить эксперта
Ответы на вопрос 1
Lynn
@Lynn
nginx, js, css
Если вы про функцию getBestResults, то в ней происходит что-то бессмысленное.
push(i) кладёт в массив индекс, а не наибольшее число. Поскольку в вашем примере наибольшее число имеет индекс 0, то он то и попадает в bestSolutions.

Впрочем в любом случае это не то что требуется в задании.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы