Во-первых, в массив добавляется элемент, указанный в скоб-
ках. Во-вторых, метод задает новую длину массива. Именно
эти значения длины появляются в консоли после каждого
вызова push.
Чтобы добавить элемент в начало массива, используйте
метод .unshift(элемент):
animals;
["Кот", "Пес", "Лама"]
animals[0];
"Кот"
animals.unshift("Мартышка");
4
animals;
56 Часть I. Основы
["Мартышка", "Кот", "Пес", "Лама"]
animals.unshift("Белый медведь");
5
animals;
["Белый медведь", "Мартышка", "Кот", "Пес", "Лама"]
animals[0];
"Белый медведь"
animals[2];
"Кот"
Мы начали с массива, созданного раньше, —
["Кот", "Пес", "Лама"]. Затем добавили в его
начало элементы "Мартышка" и "Белый медведь",
отчего остальные элементы сдвинулись вперед —
при каждом добавлении их индексы увеличивались
на 1. В результате элемент "Кот", у которого раньше
был индекс 0 , оказался под индексом 2 .
Как и push, метод unshift при каждом вызове
задает новую длину массива.
Удаление элементов массива
Убрать из массива последний элемент можно, добавив к его имени
.pop(). Метод pop делает сразу два дела: удаляет последний элемент Pop —
из массива и возвращает этот элемент в виде значения. Для примера
буквально
начнем с нашего массива animals ["Белый медведь", "Мартышка",
«выдавить»
"Кот", "Пес", "Лама"]. Далее создадим новую переменную lastAnimal Last animal —
и сохраним в ней последний элемент, вызвав animals.pop().
последнее
животное
animals;
["Белый медведь", "Мартышка", "Кот", "Пес", "Лама"]
var lastAnimal = animals.pop();
lastAnimal;
"Лама"
animals;
["Белый медведь", "Мартышка", "Кот", "Пес"]
animals.pop();
"Пес"
animals;
["Белый медведь", "Мартышка", "Кот"]
animals.unshift(lastAnimal);
4
animals;
["Лама", "Белый медведь", "Мартышка", "Кот"]
При вызове animals.pop() в строке последний элемент массива
animals, "Лама", был возвращен и сохранен в переменной lastAnimal.
3. Массивы 57
Кроме того, элемент "Лама" был удален из массива, в котором после
этого осталось четыре элемента. При следующем вызове animals.pop()
в строке был удален из массива и возвращен элемент "Пес", а элемен-
тов в массиве осталось всего три.
Вызвав animals.pop() для элемента "Пес", мы не сохранили это
значение в переменной, и оно пропало. С другой стороны, элемент "Лама"
был сохранен в переменной lastAnimal, чтобы при случае им можно было
снова воспользоваться. В строке мы с помощью unshift(lastAnimal)
добавили "Лама" обратно, в начало массива. В итоге получился массив
["Лама", "Белый медведь", "Мартышка", "Кот"].
Методы push и pop хорошо друг друга дополняют, поскольку порой
нужно работать только с концом массива. Вы можете добавить элемент
в конец вызовом push, а потом, когда это понадобится, забрать его оттуда
вызовом pop. Мы рассмотрим это на примере чуть позже в этой главе.
"
"Лама
["Белый медведь", "Мартышка", "Кот", "Пес", ]
push
pop
"Лама
["Кот", "Пес", ]
"
Чтобы удалить из массива первый элемент, вернув его значение,
используйте .shift():
animals;
["Лама", "Белый медведь", "Мартышка", "Кот"]
First animal —
var firstAnimal = animals.shift();
первое
firstAnimal;
животное
"Лама"
animals;
["Белый медведь", "Мартышка", "Кот"]
Метод animals.shift() работает аналогично animals.pop(),
но элемент берется из начала массива. В начале этого примера массив
animals имел вид ["Лама", "Белый медведь", "Мартышка", "Кот"].
Вызов .shift() вернул первый элемент, "Лама", который мы сохранили
в переменной fi rstAnimal. Поскольку .shift() не только возвращает
элемент, но и удаляет его, в массиве animals осталось лишь ["Белый
медведь", "Мартышка", "Кот"].
58 Часть I. Основы
Методы unshift и shift добавляют и удаляют элементы с начала
массива — так же как push и pop добавляют и удаляют элементы с конца.
"Лама"
[ , "Белый медведь", "Мартышка", "Кот"]
shift
unshift
"Лама"
[ , "Белый медведь", "Мартышка", "Кот"]
Объединение массивов
Чтобы «склеить» два массива, создав таким образом
новый массив, используйте команду fi rstArray.
First Array —
concat(otherArray). Метод concat создает мас-
первый массив
сив, в котором элементы из fi rstArray будут распо-
Other Array —
ложены перед элементами из otherArray.
другой массив
Пускай у нас есть два списка — список
пушистых животных и список чешуйчатых
животных — и мы хотим их объединить. Если
поместить наших пушистых животных в мас-
Furry animals —
сив furryAnimals, а чешуйчатых — в мас-
пушистые
сив scalyAnimals, команда furryAnimals.
животные
concat(scalyAnimals) создаст новый массив,
Читать дальше
Конец ознакомительного отрывка
Купить книгу