2012-01-06 20 views
11

Próbuję wydajnie napisać oświadczenie, które popycha do pozycji 1 tablicy i popycha wszystko, co jest w tej pozycji, lub po tym, jak z powrotem miejsce.Jak przesłać do tablicy w określonej pozycji?

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] 

Jaki jest najlepszy sposób na napisanie tego? (akceptowalny javascript lub coffeescript)

Dzięki!

+0

można użyć tego 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: Proszę nie karmić w3fools.com więcej trafień, jest dużo [lepiej] (https : //developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/splice) referencje [dostępne] (http://es5.github.com/#x15.4.4.12). –

Odpowiedz

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

** Uwaga: ** splice zwraca tablicę elementów _removed_. W tych przykładach żadne elementy nie są usuwane, więc 'console.log (array.splice (1,0,123)) zwróci' [] '. Powinien mieć RTFM – Pakman

8

Aby wcisnąć dowolny element w określonym indeksie w użyciu tablicy następującą składnię

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

console.log(array); // ["one", "two", "three", "four"] 
Powiązane problemy