66
Часть I. Основы
Давайте используем оба метода, чтобы получить случайный индекс.
Нужно лишь умножить
Math.random() на длину массива и затем округ-
лить полученное число методом
Math.fl oor(). Например, если в
массиве
четыре элемента, это можно сделать так:
Math.floor(Math.random() * 4);
2
// может выпасть 0, 1, 2 или 3
При каждом запуске этот код будет возвращать случайное число от 0
до 3 (включая 0 и 3). Поскольку
Math.random() всегда возвращает значе-
ние меньше 1,
Math.random() * 4 никогда не вернет 4 или большее число.
Используя это случайное число как индекс, можно получить случай-
ный элемент массива:
var randomWords = ["Взрыв", "Пещера", "Принцесса", "Карандаш"];
var randomIndex = Math.floor(Math.random() * 4);
randomWords[randomIndex];
"
Пещера
"
С
помощью
Math.fl oor(Math.random() * 4); мы получили случай-
ное число от 0 до 3. Сохранив это число в переменной
randomIndex, мы
использовали его как индекс для получения строки из массива
randomWords.
В сущности, можно сделать этот код короче, избавившись от пере-
менной
randomIndex:
randomWords[Math.floor(Math.random() * 4)];
"
Принцесса
"
Программа случайного выбора вариантов
Теперь давайте создадим массив с фразами, чтобы случайным образом
выбирать их с
помощью написанного ранее кода. Это и будет наш ком-
пьютерный «шар судьбы»! В комментариях указаны примеры вопросов,
которые можно задать нашей программе.
var phrases = [
"Звучит неплохо",
"Да, это определенно надо сделать",
"Не думаю, что это хорошая идея",
"Может, не сегодня?",
"Компьютер говорит нет"
];
// Мне выпить еще молочного коктейля?
Random
words
—
случайные
слова
Random index
—
случайный
индекс
Phrases
—
фразы
3. Массивы
67
phrases[Math.floor(Math.random() * 5)];
"
Не думаю, что это хорошая идея
"
// Мне пора делать домашнюю работу?
phrases[Math.floor(Math.random() * 5)];
"
Может, не сегодня?
”
Мы создали массив
phrases, в
котором хранятся различные советы.
Теперь, придумав вопрос, можно запросить случайный элемент из мас-
сива
phrases, и полученный совет поможет принять решение!
Обратите внимание: поскольку в массиве с советами пять элементов,
мы умножаем
Math.random() на 5. Таким образом, мы всегда получим
одно из пяти значений индекса: 0, 1, 2, 3 или 4.
Генератор случайных дразнилок
Можно усовершенствовать код выбора вариантов, создав программу,
которая при каждом запуске генерирует случайную дразнилку!
var randomBodyParts = ["глаз", "нос", "череп"];
var randomAdjectives = ["вонючая", "унылая", "дурацкая"];
var randomWords = ["муха", "выдра", "дубина", "мартышка", "крыса"];
// Выбор случайной части тела из массива randomBodyParts:
var randomBodyPart = randomBodyParts[Math.floor(Math.random() * 3)];
// Выбор случайного прилагательного из массива randomAdjectives:
var randomAdjective = randomAdjectives[Math.floor(Math.random() * 3)];
// Выбор случайного слова из массива randomWords:
var randomWord = randomWords[Math.floor(Math.random() * 5)];
// Соединяем случайные строки в предложение:
var randomInsult = "У тебя " + randomBodyPart + " словно " +
randomAdjective + " " + randomWord + "!!!";
randomInsult;
"
У тебя нос словно дурацкая выдра!!!
"
У нас есть три массива со словами, и в стро-
ках
,
и
мы с
помощью трех индек-
сов берем из каждого массива по случай-
ному слову. Затем мы склеиваем их, помещая
результат в переменную
randomInsult, —
это и есть готовая дразнилка. В строках
Достарыңызбен бөлісу: