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)
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; }
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; }
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!