有没有理由为什么应该使用另一个呢?
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']