javascript - Apakah maksud j-- dalam gelung kedua untuk?
三叔
三叔 2017-06-30 09:58:48
0
2
1767

var arr = [ 1,2,2,4,2 ];

untuk ( var i=0; i<arr.length; i++ ) {

for ( var j=i+1; j<arr.length; j++ ) {
    if ( arr[i] == arr[j] ) {
        arr.splice( j, 1 );
        j--;
    }
}

}

三叔
三叔

membalas semua(2)
某草草

Jika pendua ditemui, sambungkannya daripada arr. Selepas
splice dialih keluar, item seterusnya dalam tatasusunan masih indeks semasa, jadi anda perlu j--; 再循环中的 j++ dahulu untuk memastikan indeks betul.

Sebagai contoh, dalam gelung luar kedua, i = 1, j = 2, kemudian arr[1] ialah 2, arr[2] juga 2, arr[2] akan disambung keluar, dan tatasusunan menjadi [1, 2, 4,2], elemen 4 seterusnya masih merupakan item ke-2, dan akan terlepas jika tidak j-- dahulu.

代言

Apa yang anda katakan di atas adalah betul. Untuk menambah, anda boleh melakukannya secara terus dengan menggunakan filter.

var arr = [ 1,2,2,4,2 ];

arr.filter(function (e, i) {
    return arr.indexOf(e) === i;
})
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan