05. Array Operations
Insert or delete elements in array
Оператор delete удаляет элемент массива оставляя в нем дыру и не изменяя значение legnth.
const arr = ["a", "b"];
// arr.length = 2
delete arr[1]; // does not update length true
// arr = [ 'a', ]
// arr.length = 2Для удаления элемента массива без создания дыры следует использовать метод splice:
> const arr = ['a', 'b', 'c', 'd'];
> arr.splice(1, 2) // returns what has been removed [ 'b', 'c' ]
> arr
[ 'a', 'd' ]Array as stack
Метод pop() удаляет последний элемент массива и возвращает его. Вызов на пустом массиве вернет undefined.
const myArray = ["1", "2", "3"];
const last = myArray.pop(); // => ["1", "2"], last = "3"Метод push() добавляет элемент в конец массива. Может принимать сразу несколько элементов.
Array as queue
Метод shift() удаляет первый элемент из массива и возвращает его. В отличие от оператора delete, метод shift() сдвигает все элементы вниз на позицию ниже их текущих индексов. Позволяет использовать массив как очередь.
Метод unshift() вставляет элемент в начало массива, при этом существующие элементы в массиве смещаются в позиции с более высокими индексами:
Так же добавить элемент в конец массива можно также, присвоив значение элементу a[a.length]. Удалять элементы массива можно с помощью оператора delete, как обычные свойства объектов, но при этом значение length не уменьшается, а элементы массива не сдвигаются.
Getting sub-array
Метод slice в форме arr.slice([begin[, end]]) выполняет поверхностное копирование части исходного массива в новый.
Возвращает новый массив
Используется для поверхностного копирования всего массива когда вызван без параметров.
Если
beginпропущено, то его значением считается0.Отрицательное значение
endозначает индексацию с конца массива. Еслиendопущено, то его значением считаетсяarr.length.
Метод splice в форме array.splice(start, deleteCount[, item1[, item2[, ...]]]) удаляет deleteCount элементов с позиции start, опционально замещая их переданными элементами.
Метод
splice()изменяет исходный массив, относительно которого он был вызван.start-- принимает значения от нуля доarr.length. Отрицательные значения допускаются.deleteCountможет быть ноль.
Last updated
Was this helpful?