Книга: JavaScript. Подробное руководство, 6-е издание

7.5. Добавление и удаление элементов массива

7.5. Добавление и удаление элементов массива

Мы уже видели, что самый простой способ добавить элементы в массив заключается в том, чтобы присвоить значения новым индексам:

а = [] // Создать пустой массив.
а[0] = "zero"; // И добавить элементы.
а[1] = "one";

Для добавления одного или более элементов в конец массива можно также использовать метод push():
а = []; // Создать пустой массив
a.push("zero") // Добавить значение в конец, а = ["zero"]
a.push("one", "two") // Добавить еще два значения, а = ["zero", "one", "two"]

Добавить элемент в конец массива можно также, присвоив значение элементу а[а.length]. Для вставки элемента в начало массива можно использовать метод unshift() (описывается в разделе 7.8), при этом существующие элементы в массиве смещаются в позиции с более высокими индексами.

Удалять элементы массива можно с помощью оператора delete, как обычные свойства объектов:

а = [1.2.3];
delete а[1]; // теперь в массиве а отсутствует элемент с индексом 1
1 in а   // => false: индекс 1 в массиве не определен
a.length // => 3: оператор delete не изменяет свойство length массива

Удаление элемента напоминает (но несколько отличается) присваивание значения undefined этому элементу. Обратите внимание, что применение оператора delete к элементу массива не изменяет значение свойства length и не сдвигает вниз элементы с более высокими индексами, чтобы заполнить пустоту, оставшуюся после удаления элемента. После удаления элемента массив превращается в разреженный массив.

Кроме того, как уже было показано выше, имеется возможность удалять элементы в конце массива простым присваиванием нового значения свойству length. Массивы имеют метод рор() (противоположный методу push()), который уменьшает длину массива на 1 и возвращает значение удаленного элемента. Также имеется метод shift() (противоположный методу unshift()), который удаляет элемент в начале массива. В отличие от оператора delete, метод shift() сдвигает все элементы вниз на позицию ниже их текущих индексов. Методырор() и shift() описываются в разделе 7.8 и в справочном разделе.

Наконец существует многоцелевой метод splice(), позволяющий вставлять, удалять и замещать элементы массивов. Он изменяет значение свойства length и сдвигает элементы массива с более низкими или высокими индексами по мере необходимости. Подробности приводятся в разделе 7.8.

Оглавление книги


Генерация: 1.299. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз