Heim > Web-Frontend > js-Tutorial > Welche Methoden gibt es, um Duplikate aus JS-Arrays zu entfernen? Zusammenfassung von fünf Methoden zum Deduplizieren von JS-Arrays (mit Code)

Welche Methoden gibt es, um Duplikate aus JS-Arrays zu entfernen? Zusammenfassung von fünf Methoden zum Deduplizieren von JS-Arrays (mit Code)

不言
Freigeben: 2018-08-13 10:55:43
Original
3650 Leute haben es durchsucht

Es gibt viele Methoden zum Entfernen doppelter Daten aus JS-Arrays. Der folgende Artikel stellt Ihnen fünf Methoden zum Entfernen doppelter Daten aus JS-Arrays vor. Ich hoffe, dass er für alle hilfreich ist.

JS-Methode 1 zum Implementieren der Array-Deduplizierung: Verwenden Sie die Methode splice() und eine Double-Layer-for-Schleife (ähnlich der Auswahlsortierung)

            function norepeat(arr){
                for(var i = 0;i < arr.length-1;i++){
                    for(var j = i+1;j<arr.length;j++){
                        if(arr[i] == arr[j]){
                            arr.splice(j,1);
                            j--;
                        }
                    }
                }
                return arr;
            }
Nach dem Login kopieren

Hinweis: Wenn j-- nicht hinzugefügt wird, wird eine Nummer nach dem Löschen gelöscht. Hinweis: Wenn j-- nicht hinzugefügt wird, wird eine Nummer nach dem Löschen übersprungen

Die erste und zweite Möglichkeit, die Array-Deduplizierung in js (doppelschichtige for-Schleife) zu implementieren: geringe Effizienz, führt zu vielen nutzlosen Schleifenvergleichen

  function norepeat(arr){
                var newArr = arr;
                for(var i = newArr.length;i > 0 ; i--){
                    for(var j = 0; j<i ; j++){
                        if(newArr[i] == newArr[j]){
                            newArr.splice(i,1);
                        }
                    }
                }
                return arr;
            }
Nach dem Login kopieren

js-Implementierung Methode 2 für Array-Deduplizierung: Verwenden Sie die neuen indexOf()- und push()-Methoden von ES5 (sehr einfach und leicht zu verstehen)

   function norepeat(arr){
              var newarr = [];
              for(var i in arr){
                  if(newarr.indexOf(arr[i]) == -1){
                      newarr.push(arr[i]);
                  }
              }
              return newarr;
           }
Nach dem Login kopieren

js So implementieren Sie die Array-Deduplizierung: Methode 3: Verwenden Sie zuerst Sortieren, um zu sortieren, und vergleichen Sie dann, ob benachbarte gleich sind. Wenn sie gleich sind, löschen Sie

   function norepeat(arr) {
            arr.sort(function (a, b) { return a - b; });
            for (var i = 0; i < arr.length; i++) {
                if (arr[i] == arr[i + 1]) {
                    arr.splice(i, 1);
                    i--;
                }
            }
            return arr;
        }
Nach dem Login kopieren

Hinweis: Ohne i-- wird nach dem Löschen eine Zahl übersprungen

Methode 4 der JS-Implementierung der Array-Deduplizierung: Verwenden Sie Array-Indizes, die nicht wiederholt werden können. Konvertieren Sie zunächst den Wert im Parameter in einen Array-Index. und dann den Index in Werte umwandeln (sehr gute Idee)

  function norepeat(arr){
            var newArr = [];
            var arrs = [];
            for(var i=0;i<arr.length;i++){
                var a = arr[i];
                newArr[a] = 1;
            }
            for(var i in newArr){
                arrs[arrs.length] = i;
                console.log(i);
            }
        }
Nach dem Login kopieren

Die fünfte Methode von js zur Implementierung der Array-Deduplizierung kann ebenfalls implementiert werden

  var arr = [6, 1, 1, 2, 1, 2, 1, 1, 3, 1, 1, 1, 4, 15];
        function norepeat(arr) {
            var arrcopy = [];
            for (var i = 0; i < arr.length; i++) {
                var count = 0;
                for (var j in arrcopy) {
                    if (arrcopy[j] != arr[i]) {
                        count++;
                    }
                }
                console.log(arrcopy);
                if (count == arrcopy.length) {
                    arrcopy[arrcopy.length] = arr[i];
                }
            }
            return arrcopy;
        }
Nach dem Login kopieren

Verwandte Empfehlungen:

Wie kann die JS-Modularität implementiert werden? Erläuterung der JS-Modularisierung

Welche Methoden gibt es, um eine Array-Deduplizierung in JS zu erreichen? Eine kurze Einführung in die JS-Array-Deduplizierungsmethode

Das obige ist der detaillierte Inhalt vonWelche Methoden gibt es, um Duplikate aus JS-Arrays zu entfernen? Zusammenfassung von fünf Methoden zum Deduplizieren von JS-Arrays (mit Code). 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