68
Часть I. Основы
строку с единственным пробелом. Запустите этот код несколько раз —
при каждом запуске получится новая случайная дразнилка!
ПОПР ОБУ ЙТЕ !
Если хотите сделать все действительно по-умному, замените
строку
на вот такую:
var randomWord = randomWords[Math.floor(Math.random() *
randomWords.length)];
В
этой программе всегда нужно умножать
Math.random() на длину
массива; использование
randomWords.length как множителя означает,
что нам не понадобится менять этот код, если длина массива изменится.
Вот еще один способ составления случайной дразнилки:
var randomInsult = ["У тебя", randomBodyPart, "словно",
randomAdjective, randomWord + "!!!"].join(" ");
"
У тебя череп словно дурацкая дубина!!!
"
В
этом варианте каждое слово дразнилки — это отдельный эле-
мент массива, и мы соединяем все эти элементы методом
join с раз-
делителем-пробелом. Лишь в
одном случае пробел не нужен — между
randomWord и «!!!». В этом случае мы используем оператор +, чтобы сое-
динить строки без пробела.
Что мы узнали
Как мы теперь знаем, массивы JavaScript предназначены для хранения
списка значений. Мы научились создавать массивы и работать с ними
и освоили много
способов доступа к их элементам.
Массивы JavaScript — один из способов хранения множества значений
в
одном месте. В следующей главе мы познакомимся с объектами — дру-
гим
способом объединения значений в единую сущность. Для доступа
к элементам объектов используются
строковые ключи, а не индексы.
УПРА ЖНЕНИЯ
Чтобы укрепить знания, полученные в этой главе, выполните эти
упражнения.
#1. Новые дразнилки
Сделайте генератор случайных дразнилок со своим набором
слов.
#2. Изощренные дразнилки
Усовершенствуйте генератор дразнилок, чтобы он создавал драз-
нилки такого типа: «У тебя [часть тела] еще более [прилагатель-
ное], чем [часть тела животного] у [животное]».
Подсказка: нужно будет создать еще один массив.
#3. Оператор + или join?
Сделайте две версии своего генератора дразнилок: одна пусть
использует для составления дразнилки оператор +, а другая соз-
дает массив со словами и соединяет их через пробел с
помощью
join. Какой вариант вам больше нравится и почему?
#4. Соединение чисел
Как с помощью метода
join превратить массив [3, 2, 1] в строку
"3 больше, чем 2 больше, чем 1"?