JavaScript数组切片与删除

时间:2012-04-25 23:05:05

标签: javascript arrays slice

有没有理由为什么应该使用另一个呢?

e.g。

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

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

2 个答案:

答案 0 :(得分:29)

delete让您[ 'a', undefined, 'c' ]

splice让您[ 'a', 'c' ]

slice对原始数组没有任何作用:)但它会在您的代码中返回[ 'b' ]

答案 1 :(得分:6)

delete仅限制数组undefined的某个位置,但数组仍包含3个项目:['a',undefined,'c']

另一种方法是splice而不是slice。 splice完全删除该项及其位置,因此您最终得到['a','c']