5

どちらか一方を使用する必要がある理由はありますか?

例えば

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

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

2 に答える 2

30

deleteあなたに残します[ 'a', undefined, 'c' ]

spliceあなたに残します[ 'a', 'c' ]

slice元の配列には何もしません:)しかし、それは[ 'b' ]あなたのコードに戻ります

于 2012-04-25T23:07:06.607 に答える
6

delete配列の特定の場所のみを作成しますundefinedが、配列にはまだ3つの項目が含まれています:['a',undefined,'c']

それを行うもう 1 つの方法はsplice、 and notsliceです。splice はそのアイテムとその場所を完全に削除するため、最終的には['a','c']

于 2012-04-25T23:08:19.650 に答える