Heim > Web-Frontend > js-Tutorial > Hauptteil

Zusammenfassung von JavaScript-Methodenbeispielen zum Entfernen doppelter Elemente aus einem Array

伊谢尔伦
Freigeben: 2017-07-22 14:07:29
Original
1381 Leute haben es durchsucht

Array-Deduplizierung;

Der Array-Typ bietet keine Deduplizierungsmethode. Wenn Sie doppelte Elemente aus dem Array entfernen möchten, müssen Sie selbst einen Weg finden:

Methode eins: Verwenden Sie die indexOf-Methode;


var aa=[1,3,5,4,3,3,1,4]
function arr(arr) {
  var result=[]
  for(var i=0; i<arr.length; i++){
    if(result.indexOf(arr[i])==-1){
      result.push(arr[i])
    }
  }
  console.log(result)
}      
arr(aa)
Nach dem Login kopieren

Methode zwei:


function unique(arr) {
  var result = [], isRepeated;
  for (var i = 0, len = arr.length; i < len; i++) {
    isRepeated = false;
    for (var j = 0, len = result.length; j < len; j++) {
      if (arr[i] == result[j]) {  
        isRepeated = true;
        break;
      }
    }
    if (!isRepeated) {
      result.push(arr[i]);
    }
  }
  return result;
}
Nach dem Login kopieren

Die allgemeine Idee besteht darin, Array-Elemente einzeln auf ein anderes Array zu übertragen. Während des Übertragungsvorgangs wird überprüft, ob sie dupliziert sind. Wenn dies der Fall ist, werden sie direkt verworfen. Wie aus verschachtelten Schleifen hervorgeht, ist diese Methode äußerst ineffizient. Wir können eine Hashtabellenstruktur verwenden, um vorhandene Elemente aufzuzeichnen, sodass die innere Schleife vermieden werden kann. Es ist einfach so, dass die Implementierung von Hashtable in Javascript extrem einfach ist. Die Verbesserungen sind wie folgt:


function unique(arr) {
  var result = [], hash = {};
  for (var i = 0, elem; (elem = arr[i]) != null; i++) {
    if (!hash[elem]) {
      result.push(elem);
      hash[elem] = true;
    }
  }
  return result;
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonZusammenfassung von JavaScript-Methodenbeispielen zum Entfernen doppelter Elemente aus einem Array. 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