Heim > Web-Frontend > js-Tutorial > Empfohlen werden zwei Methoden zur Deduplizierung von JavaScript-Arrays_Javascript-Kenntnissen

Empfohlen werden zwei Methoden zur Deduplizierung von JavaScript-Arrays_Javascript-Kenntnissen

WBOY
Freigeben: 2016-05-16 15:06:36
Original
1436 Leute haben es durchsucht

1. Array-Deduplizierung

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

Methode 1: 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 2:

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

Methode 2, Die allgemeine Idee besteht darin, die Array-Elemente einzeln in ein anderes Array zu übertragen. Überprüfen Sie während des Übertragungsvorgangs, ob das Element dupliziert ist, und wenn ja, entsorgen Sie es direkt. 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. Zufälligerweise ist die Implementierung von Hashtable in Javascript äußerst einfach. 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

Die beiden oben genannten empfohlenen Methoden zum Deduplizieren von JavaScript-Arrays sind alle vom Herausgeber freigegebenen Inhalte. Ich hoffe, dass sie Ihnen eine Referenz geben können, und ich hoffe, dass Sie Script Home unterstützen.

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