Heim > Web-Frontend > js-Tutorial > Hauptteil

Empfohlene Zusammenfassung mehrerer JavaScript-Methoden zum Löschen doppelter Elemente

伊谢尔伦
Freigeben: 2017-07-24 09:52:47
Original
1758 Leute haben es durchsucht

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) : &#39;&#39;; 
  }
  //返回过滤后的数组没有影响原数组
  return newArr;
}
var arr=[&#39;a&#39;,&#39;a&#39;,&#39;b&#39;,&#39;a&#39;,&#39;c&#39;,&#39;d&#39;];
console.log(arr.unique());
//["a", "b", "c", "d", unique: function]
Nach dem Login kopieren

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
}
Nach dem Login kopieren

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 = [&#39;qiang&#39;,&#39;ming&#39;,&#39;tao&#39;,&#39;li&#39;,&#39;liang&#39;,&#39;you&#39;,&#39;qiang&#39;,&#39;tao&#39;];
 function unique(arr){
   // 遍历arr,把元素分别放入tmp数组(不存在才放)
   var tmp = new Array();
   for(var i in arr){
  //该元素在tmp内部不存在才允许追加
  if(tmp.indexOf(arr[i])==-1){
  }
 }
  return tmp;
}
Nach dem Login kopieren

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 = [&#39;qiang&#39;,&#39;ming&#39;,&#39;tao&#39;,&#39;li&#39;,&#39;liang&#39;,&#39;you&#39;,&#39;qiang&#39;,&#39;tao&#39;];
  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>
Nach dem Login kopieren

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]) == &#39;undefined&#39;){ 
      a[v] = 1; 
    } 
  }; 
  data.length=0; 
  for (var i in a){ 
    data[data.length] = i; 
  } 
  return data; 
}
Nach dem Login kopieren

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!

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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!