Uso unshift
. Es como push
, excepto que agrega elementos al principio de la matriz en lugar del final.
unshift
/ push
- agrega un elemento al principio / final de una matriz
shift
/ pop
- eliminar y devolver el primer / último elemento de una matriz
Un diagrama simple ...
unshift -> array <- push
shift <- array -> pop
y gráfico:
add remove start end
push X X
pop X X
unshift X X
shift X X
Consulte la documentación de la matriz MDN . Prácticamente todos los lenguajes que tienen la capacidad de insertar / extraer elementos de una matriz también tendrán la capacidad de quitar / cambiar elementos (a veces llamados push_front
/ pop_front
), nunca debería tener que implementarlos usted mismo.
Como se señaló en los comentarios, si desea evitar la mutación de su matriz original, puede usar concat
, que concatena dos o más matrices juntas. Puede usar esto para empujar funcionalmente un solo elemento en la parte frontal o posterior de una matriz existente; para hacerlo, debe convertir el nuevo elemento en una sola matriz de elementos:
const array = [ 3, 2, 1 ]
const newFirstElement = 4
const newArray = [newFirstElement].concat(array) // [ 4, 3, 2, 1 ]
concat
También puede agregar elementos. Los argumentos concat
pueden ser de cualquier tipo; están implícitamente envueltos en una matriz de un solo elemento, si aún no son una matriz:
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
declaraciones seguidas de una llamada areverse
, en lugar de llamarunshift
todo el tiempo.