-1

配列がある場合

private var temp:Array = [item1, item2, item3, item4, item5, item6, item7...etc];

配列内の項目の 2 つの変数:

private var firstPosition;

private var secondPosition;

一度に両方のアイテムを削除する方法はありますか?

たとえば、firstPosition = item4、secondPosition = item7 の場合、firstPosition = temp[3] および secondPosition = temp[6] とします。

しかし、私が書くと:

temp.splice(firstPosition, 1);

次に、secondPosition は temp[6] ではなく temp[5] です...配列から 1 つが削除されたためです。

私は書いています:

temp.splice(firstPosition,1);
temp.splice(secondPosition-1,1);

これは正しくないと思います...特に、secondPosition が「temp」配列 (つまり、temp[0]) の先頭にある場合。

2 つの項目が並んでいない場合、配列から一度に 2 つの項目を削除する方法はありますか??

4

1 に答える 1

0

最大インデックスの位置から削除を開始します。

// it will not change firstPosition if firstPosition < secondPosition
temp.splice(secondPosition, 1); 
temp.splice(firstPosition, 1);

これはインデックスが低いポジションには影響しません。

于 2010-01-13T15:53:37.730 に答える