Die Array -Deduplizierung ist eine häufige Anforderung, und wir betrachten Arrays des gleichen Typs für die Deduplizierung vorübergehend. Die Hauptsache ist, die Ideen zu klären und die Leistung zu berücksichtigen. Die folgenden Methoden sind im Grunde online verfügbar, und ich werde sie hier kurz zusammenfassen.
Ideen:
1. Iterieren Sie durch das Array, vergleichen Sie einzeln und löschen Sie die folgende nach dem Vergleich mit demselben.
2. Iterieren Sie über das Array, vergleichen Sie einzeln, vergleichen Sie mit demselben, überspringen Sie die vorherigen wiederholten und legen Sie sie in das Neue Array, wenn sie unterschiedlich sind.
3. Nehmen Sie jedes Array -Element in ein neues Array, durchqueren Sie jedes verbleibende Array -Element, vergleichen Sie es mit den Elementen des neuen Arrays einzeln. Wenn es einen Unterschied gibt, stecken Sie es in das Neue Array.
4. Iterieren Sie über das Array, nehmen Sie ein Element als Attribut des Objekts an und bestimmen, ob das Attribut existiert
1. Löschen Sie die Duplikate anschließend:
Funktion ov1 (arr) {// var a1 = ((neues Datum) .GetTime ()) für (var i = 0; i <arr.length; i ++) für (var j = i+1; j <arr.length; j ++) if (arr [i] === arr [j]) {arr.splice (j, 1); Datum) .getTime ()-a1) return arr.sort (Funktion (a, b) {return ab});}2. Dies ist eine herkömmliche Methode, die leichter zu verstehen ist. Wenn dieselbe, wird die Schleife ausbricht.
Funktion ov2 (a) {// var a1 = ((neues Datum) .GetTime ()) var b = [], n = a.Length, i, j; für (i = 0; i <n; i ++) {für (j = i+1; j <n; j ++) if (a [i] === a [j]) {j = false; break;} if (j) b.push (a [i]); } //console.info((new-Datum) .getTime ()-a1) return b.sort (Funktion (a, b) {return ab});}3. Ich habe lange gebraucht, um das zu verstehen. Obwohl sich die J -Schleife hier fortsetzt, hat sich der I -Wert geändert. Es entspricht einer neuen I -Loop:
Funktion ov3 (a) {// var a1 = ((neues Datum) .getTime ()) var b = [], n = a.länge, i, j; für (i = 0; i <n; i ++) {für (j = i+1; j <n; j ++) if (a [i] === a [j]) j = ++ i b.push (a [i]);} //console.info(new-Datum) .getTime ()-a1) return b.sort (funte4. Stellen Sie sicher, dass alle Neuarrays einzigartig sind
Funktion ov4 (ar) {// var a1 = ((neues Datum) .getTime ()) var m = [], f; für (var i = 0; i <ar.Length; i ++) {f = true; für (var j = 0; j <M.Length; j ++) if (ar [i] === m [j]) {f = false; break;}; if (f) m.push (ar [i])} // console.info ((neues Datum) .getTime ()-a1) return m.sort (Funktion (a, b) {return ab});}5. Objekteigenschaften verwenden
Funktion ov5 (ar) {// var a1 = (neues Datum) .getTime () var m, n = [], o = {}; für (var i = 0; (m = ar [i])! N.Sort (Funktion (a, b) {return ab}) ;;}Die obigen Empfehlungen zum Entfernen doppelter Werte in JavaScript -Arrays sind der gesamte Inhalt, den ich mit Ihnen teile. Ich hoffe, Sie können Ihnen eine Referenz geben und ich hoffe, Sie können wulin.com mehr unterstützen.