Scaly animals —
в начале которого будут элементы из первого мас-
чешуйчатые
сива, а в конце — из второго.
животные
var furryAnimals = ["Альпака", "Кольцехвостый лемур", "Йети"]; var scalyAnimals = ["Удав", "Годзилла"];
var furryAndScalyAnimals = furryAnimals.concat(scalyAnimals);
Furry and scaly
furryAndScalyAnimals;
animals —
["Альпака", "Кольцехвостый лемур", "Йети", "Удав", "Годзилла"]
пушистые
и чешуйчатые
furryAnimals;
животные
["Альпака", "Кольцехвостый лемур", "Йети"]
scalyAnimals;
["Удав", "Годзилла"]
3. Массивы 59
Хоть команда fi rstArray.concat(otherArray) и возвращает мас-
сив, содержащий все элементы из fi rstArray и otherArray, сами эти
массивы остаются прежними. Запросив содержимое furryAnimals
и scalyAnimals, мы видим, что массивы не изменились.
Объединение нескольких массивов
С помощью concat можно объединить больше чем два массива. Для этого
укажите дополнительные массивы в скобках, разделив их запятыми:
var furryAnimals = ["Альпака", "Кольцехвостый лемур", "Йети"]; Feathered
var scalyAnimals = ["Удав", "Годзилла"];
Animals —
var featheredAnimals = ["Ара", "Додо"];
животные
var allAnimals = furryAnimals.concat(scalyAnimals,
с перьями
featheredAnimals);
All animals —
allAnimals;
все животные
["Альпака", "Кольцехвостый лемур", "Йети", "Удав", "Годзилла",
"Ара", "Додо"]
Мы видим, что пернатые животные из массива featheredAnimals
оказались в самом конце нового массива, поскольку featheredAnimals
был указан последним в скобках метода concat.
Метод concat удобен, когда нужно объединить несколько массивов
в один. Скажем, пусть у вас есть список любимых книг и у вашего друга
тоже есть свой список, и вы решили выяснить, можно ли купить все эти
книги в магазине по соседству. Тогда будет проще, если у вас будет не два
списка, а один. Просто объедините ваш список со списком вашего друга
методом concat, и пожалуйста — у вас один список на двоих!
Поиск индекса элемента в массиве
Чтобы выяснить, какой у определенного элемента индекс в мас-
Color — цвет
сиве, используйте .indexOf("элемент"). Создадим массив colors
с названиями цветов, а затем получим индексы элементов «синий»
и «зеленый» с помощью команд colors.indexOf("синий") и colors.
indexOf("зеленый"). Поскольку "синий" располагается по индексу 2,
colors.indexOf("синий") вернет 2. А "зеленый" находится по ин-
дексу 1, так что colors.indexOf("зеленый") вернет 1.
var colors = ["красный", "зеленый", "синий"];
colors.indexOf("синий");
2
colors.indexOf("зеленый");
1
60 Часть I. Основы
Метод indexOf похож на квадратные скобки, только здесь все наобо-
рот: команда colors[2] вернет "синий", а colors.indexOf("синий")
вернет 2.
colors[2];
"синий"
colors.indexOf("синий");
2
Хотя элемент "синий" стоит третьим по порядку, его индекс равен 2,
ведь мы всегда считаем с 0. Разумеется, то же относится к "зеленый"
с индексом 1.
Если элемента, индекс которого вы запрашиваете, в массиве нет,
JavaScript вернет значение −1.
colors.indexOf("фиолетовый");
-1
Таким образом JavaScript сообщает: «элемент не найден», так или
иначе возвращая из метода число.
Если элемент встречается в массиве больше чем один раз, indexOf
вернет индекс того элемента, который находится ближе к началу массива.
var insects = ["Пчела", "Муравей", "Пчела", "Пчела", "Муравей"]; Insects —
insects.indexOf("Пчела");
насекомые
0
Превращаем массив в строку
Воспользовавшись методом .join(), можно соединить все элементы
Join —
массива в одну большую строку.
соединить
Boring
var boringAnimals = ["Мартышка", "Кот", "Рыба", "Ящерица"]; animals —
boringAnimals.join();
скучные
"Мартышка,Кот,Рыба,Ящерица"
животные
Метод join возвращает строку, в которой через запятую перечис-
лены все элементы массива boringAnimals. Но что если мы не хотим
использовать в качестве разделителя запятую?
Нам поможет метод .join ("разделитель"), который делает все
то же самое, но вместо запятых ставит между элементами выбранный
3. Массивы 61
разделитель. Давайте попробуем три разных разделителя:
дефис с пробелами по сторонам, звездочку * и союз «и»
с пробелами по сторонам. Обратите внимание: разделитель
нужно записывать в кавычках — ведь это строка.
var boringAnimals = ["Мартышка", "Кот", "Рыба", "Ящерица"]; boringAnimals.join(" - ");
"Мартышка - Кот - Рыба - Ящерица"
boringAnimals.join("*")
"Мартышка*Кот*Рыба*Ящерица"
boringAnimals.join(" и ")
"Мартышка и Кот и Рыба и Ящерица"
Этот вариант join удобен, когда у вас есть массив, из которого нужно
Среднее
сделать строку. Предположим, у вас много средних имен и вы решили
имя — имя,
хранить их все в массиве вместе со своим личным именем и фамилией.
обычно рас-
Читать дальше
Конец ознакомительного отрывка
Купить книгу