Heim > Web-Frontend > js-Tutorial > Ausführliche Erläuterung von Ideen und Codebeispielen zum Entfernen doppelter Elemente aus einem Array in JavaScript

Ausführliche Erläuterung von Ideen und Codebeispielen zum Entfernen doppelter Elemente aus einem Array in JavaScript

伊谢尔伦
Freigeben: 2017-07-24 13:27:33
Original
1682 Leute haben es durchsucht

Beim Schreiben von Programmen müssen wir häufig doppelte Elemente aus einem Array entfernen. Für kleine Arrays können wir dazu eine Doppelschleife verwenden. Aber wenn unser Array relativ groß ist, enthält es Zehntausende von Elementen. Dann ist die Verwendung einer Doppelzirkulation äußerst ineffizient. Jetzt werden wir die Funktionen von js nutzen, um eine effiziente Methode zum Entfernen doppelter Elemente aus einem Array zu schreiben.

<script> 
function unique(data){ 
data = data || []; 
var a = {}; 
for (var i=0; i<data.length; i++) { 
var v = data[i]; 
if (typeof(a[v]) == &#39;undefined&#39;){ 
a[v] = 1; 
} 
}; 
data.length=0; 
for (var i in a){ 
data[data.length] = i; 
} 
return data; 
} 
function test(){ 
var arr = [9,1,3,8,7,7,6,6,5,7,8,8,7,4,3,1]; 
var arr1 = unique(arr); 
alert(arr1.join(",")); 
} 
test(); 
</script>
Nach dem Login kopieren

Ausgabeergebnis:
9,1,3,8,7,6,5,4
JS-Array-Deduplizierung besteht darin, doppelte Elemente im Array zu entfernen:

Array.prototype.delRepeat=function(){ 
var newArray=new Array(); 
var len=this.length; 
for (var i=0;i<len ;i++){ 
for(var j=i+1;j<len;j++){ 
if(this[i]===this[j]){ 
j=++i; 
} 
} 
newArray.push(this[i]); 
} 
return newArray; 
}
Nach dem Login kopieren

Aber es ist offensichtlich, dass eine for-Schleife in eine andere for-Schleife eingebettet ist, was bei der Verarbeitung großer Datenmengen sehr zeitaufwändig sein muss. Nach der Suche und der Beratung durch Experten ist dies der Fall! optimiert:

Array.prototype.delRepeat=function(){ 
var newArray=[]; 
var provisionalTable = {}; 
for (var i = 0, item; (item= this[i]) != null; i++) { 
if (!provisionalTable[item]) { 
newArray.push(item); 
provisionalTable[item] = true; 
} 
} 
return newArray; 
}
Nach dem Login kopieren

besteht darin, ein temporäres ProvisionalTable-Objekt zu verwenden und den Wert des Arrays als Schlüsselwert des ProvisionalTable-Objekts zu verwenden. Wenn der entsprechende Wert nicht vorhanden ist, verschieben Sie den Wert dieses Arrays ein neues Array.

Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung von Ideen und Codebeispielen zum Entfernen doppelter Elemente aus einem Array in JavaScript. 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