Array-Deduplizierung1 Doppelschichtige For-Schleife (ähnlich dem Schreiben einer Doppelschichtschleife beim Bubblesort)var arr = [2,3,4,2,34,21,1,12,3,4,1] für(var i =0;i<arr.length;i++){ //Erste Ebene: Holen Sie sich bei jedem Durchlauf der Schleife ein Element in arr for(var j=i+1;j<arr.length;j++){ //Zweite Ebene: Jedes erhaltene Element wird mit den Elementen verglichen, die nacheinander nach jedem erhaltenen Element folgen (da das erste mit dem zweiten verglichen werden sollte, das zweite mit dem dritten und so weiter, also sollte j hier 1 größer als i sein, d. h. j=i+1) wenn (arr[i] === arr[j]){ //Wenn sie gleich sind, lösche die folgenden Elemente arr.splice(j,1) } } } //arr:[1, 2, 3, 4, 12, 21, 34] 2 Schleifen und Indexof, Schleifen und IncludesErstellen Sie ein neues Array, durchlaufen Sie das alte Array und prüfen Sie, ob das Element in jeder Schleife im neuen Array vorhanden ist. Wenn nicht, fügen Sie das aktuelle Element dem neuen Array hinzu. //Index von var arr = [2,3,4,2,34,21,1,12,3,4,1] var arr2 = [] arr.fürJeden((e)=>{ wenn (arr2.indexOf(e)==-1){ arr2.push(e) } }) console.log(arr2) //arr2:[1, 2, 3, 4, 12, 21, 34] //beinhaltet var arr = [2,3,4,2,34,21,1,12,3,4,1] var arr2 = [] arr.fürJeden((e)=>{ wenn(!arr2.includes(e)){ arr2.push(e) } }) console.log(arr2) //arr2:[1, 2, 3, 4, 12, 21, 34] 3. Objektattribute verwenden, um Duplikate zu entfernenvar arr = [2,3,4,2,34,21,1,12,3,4,1] var obj = {}; arr.fürJeden((e,i)=>{ obj[arr[i]] = "abc"; }); var arr2 = Objekt.keys(obj) console.log(arr2) //arr2:["1", "2", "3", "4", "12", "21", "34"] var arr3 = arr2.map(e => ~~e) //arr3:[1, 2, 3, 4, 12, 21, 34] //Beachten Sie, dass diese Methode nicht nur das Array neu anordnet, sondern auch den Typ der Elemente im Array ändert
4 ES6-SatzES6 bietet ein neues Datenstruktur-Set. Es ähnelt einem Array, aber die Mitgliedswerte sind eindeutig und es gibt keine doppelten Werte. var arr = [2,3,4,2,34,21,1,12,3,4,1] var arr1 = [...neues Set(arr)] console.log(arr1) //arr1:[1, 2, 3, 4, 12, 21, 34] 5 ES6 Array. Prototyp. Filter()
var arr = [2,3,4,2,34,21,1,12,3,4,1] var arr2 = arr.filter((e,i)=>{ // Überprüfen Sie, ob die erste Indexposition des Elements in jeder Schleife (die von indexOf zurückgegebene Position) und der Index des Elements in jeder Schleife (i in jeder Filterschleife) übereinstimmen. Wenn sie übereinstimmen, bedeutet dies, dass es das erste ist, das die Bedingungen erfüllt und nicht herausgefiltert wird. gibt arr.indexOf(e)==i zurück; }) console.log(arr2) //arr2:[1, 2, 3, 4, 12, 21, 34] 6 ES6-Array. Prototyp. Reduzieren()var arr = [2,3,4,2,34,21,1,12,3,4,1] var arr2 = arr.reduce((pre,e)=>{ //Natürlich können Sie hier auch indexOf verwenden, um zu bestimmen, ob pre.includes(e) existiert?pre:pre.push(e); Rückkehr vor },[]) console.log(arr2) //arr2:[1, 2, 3, 4, 12, 21, 34] ZusammenfassenDieser Artikel endet hier. Ich hoffe, er kann Ihnen helfen. Ich hoffe auch, dass Sie mehr Inhalten auf 123WORDPRESS.COM mehr Aufmerksamkeit schenken können! Das könnte Sie auch interessieren:
|
<<: Lösung für das 404-Problem der Tomcat-Installation in Docker
>>: Memcached-Methode zum Erstellen eines Cache-Servers
1. Die Bedeutung persistenter statistischer Infor...
Ich habe kürzlich den Quellcode von Vue studiert ...
Normalerweise verwende ich nginx als Reverse-Prox...
1|0 Kompilieren Sie den Kernel (1) Führen Sie den...
In diesem Artikelbeispiel wird der spezifische Co...
app.js: Startdatei oder Einstiegsdatei package.js...
Verwenden Sie Indizes, um Abfragen zu beschleunig...
Nachdem ich mit der Lektüre von JavaScript DOM fe...
50 Zeilen Code zum Ändern von 5 Hautfarben, einsc...
Native js realisiert den Karusselleffekt (nahtlos...
Inhaltsverzeichnis Umsetzungsideen: Schritt 1: Ko...
Datenbankversion: mysql> select version(); +--...
Chinesisch-Tutorial https://www.ncnynl.com/catego...
Einleitung Bisher wurden unsere Docker-Images in ...
Inhaltsverzeichnis Vorwort 1. Nginx + Tomcat 2. K...