2012-01-06 16 views
11

Sto provando a scrivere in modo efficiente un'istruzione che spinge verso la posizione 1 di un array, e spinge qualsiasi cosa si trovi in ​​quella posizione, o dopo averlo restituito.Come spingere verso una matrice in una posizione particolare?

array = [4,5,9,6,2,5] 

#push 0 to position 1 

array = [4,0,5,9,6,2,5] 

#push 123 to position 1 

array = [4,123,0,5,9,6,2,5] 

Qual è il modo migliore per scrivere questo? (javascript o coffeescript accettabile)

Grazie!

+0

è possibile utilizzare questo http://stackoverflow.com/questions/586182/javascript-insert-item-into -array-at-a-specific-index – HasanCseBuet

+0

http://www.w3schools.com/jsref/jsref_splice.asp –

+2

@Anand: Si prega di non alimentare più colpi w3fools.com, ci sono molti [migliori] (https : //developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/splice) riferimenti [disponibili] (http://es5.github.com/#x15.4.4.12). –

risposta

18
array = [4,5,9,6,2,5] 

#push 0 to position 1 
array.splice(1,0,0) 

array = [4,0,5,9,6,2,5] 

#push 123 to position 1 
array.splice(1,0,123) 

array = [4,123,0,5,9,6,2,5] 
+1

** Nota: ** splice restituisce una matrice degli elementi _removed_. In questi esempi, nessun elemento viene rimosso così 'console.log (array.splice (1,0,123))' restituirà '[]'. Dovrebbe avere RTFM – Pakman

8

Per spingere qualsiasi elemento a indice specifico in uso serie seguente sintassi

// The original array 
var array = ["one", "two", "four"]; 
// splice(position, numberOfItemsToRemove, item) 
array.splice(2, 0, "three"); 

console.log(array); // ["one", "two", "three", "four"] 
Problemi correlati