Оператор delete удаляет элемент массива оставляя в нем дыру и не изменяя значение legnth.
constarr= ["a","b"];// arr.length = 2deletearr[1];// does not update length true// arr = [ 'a', ]// arr.length = 2
Для удаления элемента массива без создания дыры следует использовать метод splice:
>constarr= ['a','b','c','d'];>arr.splice(1,2) // returns what has been removed [ 'b', 'c' ]>arr[ 'a','d' ]
Array as stack
Метод pop() удаляет последний элемент массива и возвращает его. Вызов на пустом массиве вернет undefined.
constmyArray= ["1","2","3"];constlast=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. Отрицательные значения допускаются.