2011-11-16 11 views
279

Ho una matrice di oggetti e mi piacerebbe spingere un elemento all'inizio della matrice.javascript che spinge elemento all'inizio di una matrice

ho questo:

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

E 'aggiungendo TheNewObject alla fine. Devo creare un nuovo array, aggiungere TheNewObject e quindi passare attraverso TheArray e aggiungere ogni elemento all'array?

risposta

571

Uso unshift, che modifica la matrice esistente aggiungendo gli argomenti all'inizio:

TheArray.unshift(TheNewObject); 
66

Usa .unshift() per aggiungere all'inizio di un array.

TheArray.unshift(TheNewObject); 

See MDN per doc on unshift() e qui per doc on other array methods.

FYI, proprio come se ci fosse .push() e .pop() per la fine dell'array, c'è .shift() e .unshift() per l'inizio della matrice.

0

Prova qualcosa di simile:

<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

Per una versione più brutta di unshift uso splice:

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

perché l'hai fatto? –

+1

Come programmatore, è sempre molto importante avere delle opzioni, a volte le soluzioni semplici non funzionano sempre in determinate situazioni e la giunzione è un buon modo per rimuovere gli elementi dagli array, quindi sapere come inserirli è utile – Cacoon

Problemi correlati