Попытка присвоить случайное значение индекса переменной (учимся кодировать!)

#javascript #function

#javascript #функция

Вопрос:

Я учусь программировать уже несколько месяцев и постепенно начинаю создавать свою собственную очень простую программу «орел или решка».

Я не понимаю, почему функция computerPick() не присваивает новое значение компьютеру из случайного индекса??? Любая помощь была бы отличной!

 let player = "heads";
let computer = null;

let gamePicks = ["heads", "tails"];

function computerPick() {
let randomIndex = gamePicks[Math.floor(Math.random() * gamePicks)];
computer = gamePicks[randomIndex];
}

function comparePicks() {
computerPick()
if (player === computer) {
    console.log(`This game was a tie with both players picking ${player}`);
} else if (player === "heads" amp;amp; computer === "tails") {
    console.log(`Wooh player won with ${player}`);
} else console.log(`boooo computer won with ${computer}`);
}

comparePicks();
  

Комментарии:

1. ваша строка let randomIndex = gamePicks[Math.floor(Math.random() * gamePicks)]; должна быть let randomIndex = gamePicks[Math.floor(Math.random() * gamePicks.length)]; gamePicks.length — количество элементов в массиве (в данном случае 2), в то время gamePicks как фактический массив.

2. Странные правила для победы.

Ответ №1:

Вы столкнулись с этой проблемой, потому что пытаетесь умножить значение массива на числовое значение. Вместо этого используйте приведенный ниже код:

 let randomIndex = gamePicks[Math.floor(Math.random() * gamePicks.length)];