Heim > Artikel > Web-Frontend > Empfohlene Zusammenfassung mehrerer JavaScript-Methoden zum Löschen doppelter Elemente
Das Beispiel fasst mehrere häufig verwendete Techniken zum Löschen doppelter Elemente von Arrays mithilfe von Javascript zusammen. Freunde, die es benötigen, können darauf verweisen.
Hier teilen wir eine hochfrequente Front-End-Interviewfrage, die hauptsächlich implementiert wird Löschen doppelter Elemente von Arrays mithilfe von Javascript. Ich hoffe, dass es für Anfänger hilfreich sein wird
//数组去重的方法 Array.prototype.unique=function(){ //集中声明变量 var oldArr=this, newArr=[oldArr[0]], len=oldArr.length, i=1; //过滤空数组 if(!len) return this; //过滤重复元素 for(;i<len;i++){ newArr.indexOf(oldArr[i])<0 ? newArr.push(_this) : ''; } //返回过滤后的数组没有影响原数组 return newArr; } var arr=['a','a','b','a','c','d']; console.log(arr.unique()); //["a", "b", "c", "d", unique: function]
Obwohl es viele online gibt und die, die ich geschrieben habe, nicht sehr gut sind, ist die Logik, die ich geschrieben habe, doch klar und ich kann es auch in Zukunft noch verfolgen. Logische Erweiterungen, z. B. die Erweiterung auf die Deduplizierung von Objektelementen oder die Möglichkeit, mehrere Arrays gleichzeitig zu betreiben usw. Hier sind einige von anderen geschriebene Methoden zum umfassenden Vergleich
Methode 1:
function oSort(arr) { var result ={}; var newArr=[]; for(var i=0;i { if(!result[arr[i]]) { newArr.push(arr[i]) result[arr[i]]=1 } } return newArr }
Methode 2:
Durchlaufen Sie das zu löschende Array arr, fügen Sie die Elemente jeweils in ein anderes Array tmp ein und Erlauben Sie die Platzierung des Elements nur, wenn festgestellt wird, dass es in arr nicht vorhanden ist. Zwei Funktionen werden verwendet, um
in tmp einzugeben: for ...in und indexOf()
var student = ['qiang','ming','tao','li','liang','you','qiang','tao']; function unique(arr){ // 遍历arr,把元素分别放入tmp数组(不存在才放) var tmp = new Array(); for(var i in arr){ //该元素在tmp内部不存在才允许追加 if(tmp.indexOf(arr[i])==-1){ } } return tmp; }
Methode 3:
Ziel setzen Durch Vertauschen der Elementwerte und Schlüsselpositionen des Arrays arr werden doppelte Elemente automatisch gelöscht. Der Austausch sieht folgendermaßen aus: array('qiang'=> ;1, 'ming'=>1, 'tao'=> 1)
<script type="text/javascript"> var student = ['qiang','ming','tao','li','liang','you','qiang','tao']; function unique(arr){ var tmp = new Array(); for(var m in arr){ tmp[arr[m]]=1; } //再把键和值的位置再次调换 var tmparr = new Array(); for(var n in tmp){ tmparr.push(n); } return tmparr; } </script>
Methode 4
/** * 去除数组重复元素 */ function uniqueArray(data){ data = data || []; var a = {}; for (var i=0; i<data.length; i++) { var v = data[i]; if (typeof(a[v]) == 'undefined'){ a[v] = 1; } }; data.length=0; for (var i in a){ data[data.length] = i; } return data; }
Die Methoden sind alle ähnlich. Die dritte Methode ist eine bessere Idee.
Das obige ist der detaillierte Inhalt vonEmpfohlene Zusammenfassung mehrerer JavaScript-Methoden zum Löschen doppelter Elemente. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!