2011-11-16 7 views
279

Tengo una matriz de objetos y me gustaría insertar un elemento al principio de la matriz.javascript presionando elemento al comienzo de una matriz

tengo unas pocas cosas:

var TheArray = TheObjects.Array; 
TheArray.push(TheNewObject); 

Está añadiendo TheNewObject al final. ¿Necesito crear una nueva matriz, agregarle TheNewObject y luego recorrer TheArray y agregar cada elemento a la matriz?

Respuesta

571

Uso unshift, que modifica la matriz existente mediante la adición de los argumentos al principio:

TheArray.unshift(TheNewObject); 
66

Uso .unshift() para añadir al principio de una matriz.

TheArray.unshift(TheNewObject); 

Ver MDN para doc on unshift() y aquí para doc on other array methods.

su información, al igual que hay .push() y .pop() para el final de la matriz, hay .shift() y .unshift() para el comienzo de la matriz.

0

Pruebe algo como:

<script type="text/javascript"> 

var fruits = ["Banana", "Orange", "Apple", "Mango"]; 
document.write(fruits.unshift("Kiwi") + "<br />"); 
document.write(fruits.unshift("Lemon","Pineapple") + "<br />"); 
document.write(fruits); 

</script> 
14

Para una versión más feo de unshift uso splice:

TheArray.splice(0, 0, TheNewObject); 
+1

¿por qué haces eso? –

+1

Como programador, siempre es muy importante tener opciones, a veces las soluciones fáciles no siempre funcionan en ciertas situaciones, y el empalme es una buena manera de eliminar elementos de las matrices, por lo que es útil saber cómo insertarlos. – Cacoon

Cuestiones relacionadas