Я читаю начальную книгу JavaScript с некоторым кодом, который сравнивает вход кодера (ответ var) с случайно выбранной строкой из массива (ответы). Это игра угадывания.
Я смущен тем, как строка выбирается случайным образом. Кажется, что код умножает функцию Math.random на массив ответов и его свойство length. Проверяя это, это стандартный способ сделать случайный выбор из массива? Почему вы использовали математический оператор, *, чтобы умножить... out... случайную строку на основе длины массива? Разве это не длина, а всего лишь 3 строки? Я просто чувствую, что это должно быть что-то простое, как index = answers.random. Существует ли это в JS или на другом языке?
<script>
var guess = "red";
var answer = null;
var answers = [ "red",
"green",
"blue"];
var index = Math.floor(Math.random() * answers.length);
if (guess == answers[index]) {
answer = "Yes! I was thinking " + answers[index];
} else {
answer = "No. I was thinking " + answers[index];
}
alert(answer);
</script>