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

Добавить новый элемент массива или изменить значение существующего можно с помощью квадратных скобок:

let arr = [1, 2, 3];
arr[3] = 4;
arr[arr.length] = 5;  // Добавление в конец массива
console.log(arr);     // [ 1, 2, 3, 4, 5 ]

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

let arr = [1, 2];
arr[5] = 3;           // Добавление нового элемента
console.log( arr );   // [ 1, 2, <3 empty items>, 3 ]

Можно изменять значение свойства length, тем самым увеличивая или уменьшая размер массива:

let arr = [1, 2, 3];
console.log(arr.length); // 3
arr.length = 5;
console.log(arr.length); // 5
console.log(arr);        // [ 1, 2, 3, <2 empty items> ]
arr.length = 2;
console.log(arr.length); // 2
console.log(arr);        // [ 1, 2 ]

Удалить значение произвольного элемента массива позволяет оператор delete. После удаления значения элемент станет пустым:

let arr = [1, 2, 3];
delete arr[1];
console.log(arr);        // [ 1, <1 empty item>, 3 ]

Для добавления и удаления элементов можно воспользоваться следующими методами:

  • push(<Список элементов>) — добавляет в массив элементы, указанные в списке элементов. Элементы добавляются в конец массива. Метод возвращает новый размер массива:
let arr = [1, 2, 3];
console.log(arr.push(4, 5));    // 5
console.log(arr);               // [ 1, 2, 3, 4, 5 ]

Для добавления элементов из какого-либо массива в конец текущего массива можно воспользоваться следующим кодом:

let arr = [1, 2, 3], arr2 = [4, 5];
Array.prototype.push.apply(arr, arr2);
console.log(arr);               // [ 1, 2, 3, 4, 5 ]

Альтернативный способ с созданием нового массива:

let arr = [1, 2, 3], arr2 = [4, 5];
console.log( [...arr, ...arr2] );
// [ 1, 2, 3, 4, 5 ]
  • unshift(<Список элементов>) — добавляет в массив элементы, указанные в списке элементов. Элементы добавляются в начало массива. Метод возвращает новый размер массива:
let arr = [1, 2, 3];
console.log(arr.unshift(4, 5)); // 5
console.log(arr);               // [ 4, 5, 1, 2, 3 ]

Альтернативный способ с созданием нового массива:

let arr = [1, 2, 3];
console.log( [...[4, 5], ...arr] );
// [ 4, 5, 1, 2, 3 ]
  • shift() — удаляет первый элемент массива и возвращает его (или значение undefined, если элементов больше нет):
let arr = [1, 2, 3];
console.log(arr.shift());       // 1
console.log(arr);               // [ 2, 3 ]
  • pop() — удаляет последний элемент массива и возвращает его (или значение undefined, если элементов больше нет):
let arr = [1, 2, 3];
console.log(arr.pop());         // 3
console.log(arr);               // [ 1, 2 ]
  • splice(<Начало>, <Количество>[, <Список значений>]) — позволяет удалить, заменить или вставить элементы массива. Возвращает массив, состоящий из удаленных элементов:
let arr1 = [ 1, 2, 3, 4, 5 ];
let arr2 = arr1.splice(2, 2);
console.log(arr1);              // [ 1, 2, 5 ]
console.log(arr2);              // [ 3, 4 ]
let arr3 = arr1.splice(1, 1, 7, 8, 9);
console.log(arr1);              // [ 1, 7, 8, 9, 5 ]
console.log(arr3);              // [ 2 ]
let arr4 = arr1.splice(1, 0, 2, 3, 4);
console.log(arr1);          // [ 1, 2, 3, 4, 7, 8, 9, 5 ]
console.log(arr4);              // []

Учебник по Node.js и JavaScript
Учебник по JavaScript (Node.js) в формате PDF

Помощь сайту

ЮMoney (Yandex-деньги): 410011140483022

ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов