Использование unshift
. Это как push
, за исключением того, что он добавляет элементы в начало массива вместо конца.
unshift
/ push
- добавить элемент в начало / конец массива
shift
/ pop
- удалить и вернуть первый / последний элемент массива
Простая схема ...
unshift -> array <- push
shift <- array -> pop
и диаграмма:
add remove start end
push X X
pop X X
unshift X X
shift X X
Ознакомьтесь с документацией по массиву MDN . Практически каждый язык, который имеет возможность вставлять / извлекать элементы из массива, также будет иметь возможность отменять / сдвигать (иногда называемые push_front
/ pop_front
) элементы, вам никогда не придется реализовывать их самостоятельно.
Как указано в комментариях, если вы хотите избежать мутации вашего исходного массива, вы можете использовать concat
, который объединяет два или более массивов вместе. Вы можете использовать это, чтобы функционально выдвинуть один элемент в начало или конец существующего массива; для этого вам нужно превратить новый элемент в массив из одного элемента:
const array = [ 3, 2, 1 ]
const newFirstElement = 4
const newArray = [newFirstElement].concat(array) // [ 4, 3, 2, 1 ]
concat
Можно также добавлять элементы. Аргументы concat
могут быть любого типа; они неявно заключены в одноэлементный массив, если они еще не являются массивом:
const array = [ 3, 2, 1 ]
const newLastElement = 0
// Both of these lines are equivalent:
const newArray1 = array.concat(newLastElement) // [ 3, 2, 1, 0 ]
const newArray2 = array.concat([newLastElement]) // [ 3, 2, 1, 0 ]
push
операторы, сопровождаемые вызовомreverse
, вместо того, чтобы вызыватьunshift
все время.