2012-04-25 63 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