Rumah  >  Soal Jawab  >  teks badan

javascript - Apakah maksud j-- dalam gelung kedua untuk?

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--;
    }
}

}

三叔三叔2668 hari yang lalu1735

membalas semua(2)saya akan balas

  • 某草草

    某草草2017-06-30 10:00:48

    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.

    balas
    0
  • 代言

    代言2017-06-30 10:00:48

    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;
    })

    balas
    0
  • Batalbalas