К функциям вставки и удаления элементов массива относятся функции shift(),unshift(), pop(), push(), splice()и concat().
Функция
shift()
удаляет первый элемент массива и возвращает его значение.
Функция
unshift(элемент-1,...)
добавляет один или более элементов в начало массива и возвращает новую длину массива.
Функция
pop()
удаляет последний элемент массива и возвращает его значение.
Функция
push(элемент-1,...)
добавляет один или более элементов в конец массива и возвращает новую длину массива.
Функция
splice(индекс, n, элемент-1,...)
изменяет и/или удаляет элементы из массива.
Параметр индекс указывает, с какого индекса начинается изменение элементов, n – количество изменяемых элементов, элемент-1,... – заменяемые элементы (количество заменяемых элементов не обязательно равно n). Если заменяемые элементы не заданы, то n элементов, начиная с индекса индекс, удаляются из массива. Если не задан параметр n, из массива удаляются все элементы, начиная с позиции индекс. Возвращаемое значение функции содержит массив удаленных элементов.
|
|
Функция слияния (конкатенации) массивов
concat(массив1,...)
объединяет несколько массивов в один массив
Пример 4.4.40. Вставка и удаление элементов массива:
1. a = new Array(0, 1, 2, 3, 4, 5); // Создание массива
a0 = a.shift(); // Удаление из массива первого элемента
// и присвоение значения удаленного
// элемента переменной a0
aLen0 = a.length; // Определение текущей длины массива a
// и присвоение этого значения
// переменной aLen0
// Вывод значений a0, aLen0 и массива a
alert("a0=" + a0 + "\naLen0=" + aLen0 + "\na=" + a);
Вывод фрагмента сценария будет иметь следующий вид:
2. a1 = a.unshift(10,11); // Добавление в начало массива a
// из предыдущего примера двух
// элементов: 10 и 11. a1 получает
// значение новой длины массива a
aLen1 = a.length; // Определение текущей длины
// массива a и присвоение этого
// значения переменной aLen1
// Вывод значений a1, aLen1 и массива a
alert("a1=" + a1 + "\naLen1=" + aLen1 + "\na=" + a);
Вывод фрагмента сценария будет иметь следующий вид:
3. a2 = a.pop(); // Удаление из массива a
// из предыдущего примера последнего
// элемента и присвоение значения
// удаленного элемента переменной a2
aLen2 = a.length; // Определение текущей длины
// массива a и присвоение этого
// значения переменной aLen2
// Вывод значений a2, aLen2 и массива a
alert("a2=" + a2 + "\naLen2=" + aLen2 + "\na=" + a);
Вывод фрагмента сценария будет иметь следующий вид:
4. a3 = a.push(20,21,22); // Добавление в конец массива a
// из предыдущего примера трех
// элементов: 20, 22 и 23.
// a3 получает значение новой
// длины массива a
aLen3 = a.length; // Определение текущей длины
// массива a и присвоение этого
// значения переменной aLen3
|
|
// Вывод значений a3, aLen3 и массива a
alert("a3=" + a3 + "\naLen3=" + aLen3 + "\na=" + a);
Вывод фрагмента сценария будет иметь следующий вид:
5. a4 = a.splice(5,2,4,5,6); // Удаление из массива a из
// предыдущего примера двух элементов,
// начиная с индекса 5, и замена их
// элементами 4,5 и 6. Массив удаленных
// элементов присваивается
// переменной a4
aLen4 = a.length; // Определение текущей длины
// массива a и присвоение этого
// значения переменной aLen4
// Вывод значений a4, aLen4 и массива a
alert("a4=" + a4 + "\naLen4=" + aLen4 + "\na=" + a);
Вывод фрагмента сценария будет иметь следующий вид:
6. a5 = a.splice(7,2); // Удаление из массива a из
// предыдущего примера двух элементов,
// начиная с индекса 7. Массив удаленных
// элементов присваивается переменной a5
aLen5 = a.length; // Определение текущей длины
// массива a и присвоение этого
// значения переменной aLen5
// Вывод значений a5, aLen5 и массива a
alert("a5=" + a5 + "\naLen5=" + aLen5 + "\na=" + a);
Вывод фрагмента сценария будет иметь следующий вид:
7. // Инициализация массивов b1, b2 и b3
b1 = [5, 17, 8]; b2 = [3, 14, 1]; b3 = [8, 2];
// Конкатенация массивов b1, b2 и b3 и
// присвоение полученного значения массиву b
b = b1.concat(b2, b3);
// Вывод массива b
alert("b=" + b);
Вывод фрагмента сценария будет иметь следующий вид: