2012-04-25 9 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 Array Delete Elements](http://stackoverflow.com/questions/500606/javascript-array-delete-elements) – PeeHaa

答えて

28

delete元の配列に何もしない[ 'a', 'c' ]

sliceが残ります:)しかし、それはあなたのコード内[ 'b' ]のみ

+0

Aha 。ありがとうございました。 – Francisc

6

deleteを返し[ 'a', undefined, 'c' ]

spliceであなたを残しますアレイの特定の場所がundefinedになりますが、配列にはまだ3つの項目が含まれています:['a',undefined,'c']

他の方法はspliceで、sliceではありません。スプライスは完全にその項目とその場所を削除するので、最終的には['a','c']

+0

ありがとうございます。 [余分な文字] – Francisc