Heim > Web-Frontend > js-Tutorial > Ausführliche Erklärung, wie man mit JavaScript doppelten Code aus einem Array entfernt

Ausführliche Erklärung, wie man mit JavaScript doppelten Code aus einem Array entfernt

伊谢尔伦
Freigeben: 2017-07-22 14:46:51
Original
1180 Leute haben es durchsucht

Duplikate aus Array entfernen

Einfache Möglichkeit, Duplikate zu entfernen: Deklarieren Sie zuerst ein leeres Array, fügen Sie das wiederholte Array in eine for-Schleife ein und überspringen Sie das nicht-duplizierte Einfügen

var arr = [];  
for(var i=0;i<20;i++){  
    arr.push(parseInt(Math.random()*10));  
}  
Array.prototype.indexOf = function(n){  
    for(var i=0;i<this.length;i++){  
        if(this[i] == n){  
            return i;  
        }  
    }  
    return -1;  
}  
function removeDup(arr){  
    var result = [];  
    for(var i=0;i<arr.length;i++){  
        if(result.indexOf(arr[i]) == -1){  
            result.push(arr[i]);  
        }  
    }  
    return result;   
}  
var arr2 = removeDup(arr)  
document.write(arr+&#39;<br/>&#39;+arr2)
Nach dem Login kopieren

Algorithmus-Array-Entfernung von Duplikaten

var arr = [];  
for(var i=0;i<20;i++){  
    arr.push(parseInt(Math.random()*10));  
}  
Array.prototype.indexOf = function(n){  
    for(var i=0;i<this.length;i++){  
        if(this[i] == n){  
            return i;  
        }  
    }  
    return -1;  
}  
function removeDup(arr,s,e){  
    if(s==e){  
        //分割就剩下一个  
        return [arr[s]]  
    }else if(s==e-1){  
        //为了优化 剩下两个就不用分割啦  
        if(arr[s]==arr[e]){  
            return [arr[s]]  
        }else{  
            return [arr[s],arr[e]];  
        }  
    }  
    //数组平分成两段,  
    var l = Math.floor((s+e)/2);  
    //左边  
    var arrL = removeDup(arr,s,l);  
    //右边  
    var arrR = removeDup(arr,l+1,e);  
    //结果 先把左边的复制进去  
    var result = arrL;  
    //循环 将不重复的数据插入到结果里面  
    for(var i=0;i<arrR.length;i++){  
        if(result.indexOf(arrR[i])== -1 ) result.push(arrR[i])  
    }  
    return result; //返回结果  
}  
var arrDup = removeDup(arr, 0, arr.length-1);  
document.write(arr+&#39;<br/>&#39;+arrDup);
Nach dem Login kopieren

Erklärung: Schneiden Sie das duplizierte Array ab, bis nur noch ein oder zwei Datenarrays übrig sind, und trennen Sie die linken Daten das Ergebnis, und die rechte Seite wird wiederholt ohne wiederholtes Einfügen übersprungen, bis die Schleife abgeschlossen ist und das Ergebnis zurückgegeben wird

Das obige ist der detaillierte Inhalt vonAusführliche Erklärung, wie man mit JavaScript doppelten Code aus einem Array entfernt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage