2012-01-06 44 views
11

我試圖有效地寫出一個聲明,推動陣列的位置1,並推動任何在該位置,或者在它回到一個點後。如何推到特定位置的數組?

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] 

寫這個的最好方法是什麼? (javascript或coffeescript可以接受)

謝謝!

+0

您可以使用此 http://stackoverflow.com/questions/586182/javascript-insert-item-into -array-at-a-specific-index – HasanCseBuet 2012-01-06 07:07:32

+0

http://www.w3schools.com/jsref/jsref_splice.asp – 2012-01-06 07:12:12

+2

@Anand:請不要給w3fools.com提供任何更多的點擊,有很多[更好](https ://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/splice)references [available](http://es5.github.com/#x15.4.4.12)。 – 2012-01-06 07:21:45

回答

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

**注:** splice返回_removed_元素的數組。在這些例子中,沒有元素被刪除,因此'console.log(array.splice(1,0,123))'將返回'[]'。應該有RTFM – Pakman 2014-07-14 21:12:07

8

在特定的指數在陣列中使用將任何物品下面的語法

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

console.log(array); // ["one", "two", "three", "four"] 
相關問題