2012-04-25 76 views
4

是否有任何理由將其中一個用於其他用途?JavaScript數組切片與刪除

例如

var arData=['a','b','c']; 
arData.slice(1,1);//removes 'b' 

var arData=['a','b','c']; 
delete arData[1];//removes 'b' 
+0

可能重複[JavaScript數組刪除元素](http://stackoverflow.com/questions/500606/javascript-array-delete-elements) – PeeHaa 2012-04-25 23:08:38

回答

28

delete給你留下[ 'a', undefined, 'c' ]

splice給你留下[ 'a', 'c' ]

slice什麼都不做原來的數組:)但它在你的代碼返回[ 'b' ]只有

+0

啊哈。謝謝。 – Francisc 2012-04-25 23:09:02

6

delete使該數組的某個位置undefined但該數組仍然包含3個項目:['a',undefined,'c']

另一種方式是splice而不是slice。拼接完全刪除該項目和它的位置,所以你最終與['a','c']

+0

謝謝。 [額外字符] – Francisc 2012-04-25 23:09:15