Heim  >  Artikel  >  Web-Frontend  >  So implementieren Sie die arr-(Array-)Deduplizierung in es6

So implementieren Sie die arr-(Array-)Deduplizierung in es6

青灯夜游
青灯夜游Original
2022-08-30 17:48:282206Durchsuche

3 Implementierungsmethoden: 1. Datenstruktur und „Array.from()“-Deduplizierung festlegen, Syntax „Array.from(new Set(arr))“ 2. Datenstruktur und Erweiterungsoperator „…“ festlegen , die Syntax „[...new Set(arr)]“; 3. filter() und indexOf() Filterung, die Syntax „arr.filter((it,in)=>{return arr.indexOf(it , 0)===in;});“.

So implementieren Sie die arr-(Array-)Deduplizierung in es6

Die Betriebsumgebung dieses Tutorials: Windows 7-System, ECMAScript Version 6, Dell G3-Computer. 5 Möglichkeiten, ES6-Arrays zu deduplizieren sind per se keine doppelten Werte. Mit dieser Funktion können wir das Array zur Deduplizierung in einen Set-Typ konvertieren und es dann mithilfe der Array.from-Methode erneut in ein Array konvertieren.

Die Array.from-Methode wird verwendet, um zwei Arten von Objekten in echte Arrays umzuwandeln: Array-ähnliche Objekte und iterierbare Objekte (einschließlich der neuen Datenstrukturen Set und Map von ES6).

implementation idee:

  • Nach dem Umwandeln des Arrays in eine festgelegte Sammlung und Deduplizierung der Array.From -Methode, um das Set in ein Array
  • syntax zu konvertieren:
  • Array.from(new Set(arr))
example:

let arr=[1,2,3,3,2,"1",0,undefined,undefined];
let newArr=Array.from(new Set(arr));
console.log(newArr);
  • 2. Datenstruktur und Spread-Operator „…“ festlegen Deduplizierung


Der Spread-Operator

wird in ES6 eingeführt, der das iterierbare Objekt in seine einzelnen Elemente erweitert alle Objekte, die mit einer for-of-Schleife durchlaufen werden können, wie Arrays, Strings, Maps, Sets, DOM-Knoten usw.

So implementieren Sie die arr-(Array-)Deduplizierung in es6

Implementierungsidee:

    Konvertieren Sie das Array in einen Satz. Verwenden Sie nach der Deduplizierung den Spread-Operator ..., um den Satz in ein Array zu erweitern und den Satz in ein Array umzuwandeln
  • Syntax:
  • [...new Set(arr)]
Beispiel:

let arr=[1,2,3,3,2,"1",0,1,2];
let newArr=[...new Set(arr)];
console.log(newArr);

  • 3. Verwenden Sie die filter+indexOf-Methode des Arrays, um Duplikate zu entfernen.

filter()-Methode, um ein neues Array zu erstellen, werden alle Elemente im angegebenen Array überprüft Array, das die Bedingungen erfüllt. Die

indexOf-Methode gibt den ersten Index (Index) des angegebenen Elements im Array zurück. Wenn nicht, gibt sie -1 zurück. Beispiel:

var arr=[1, 2, 3, 2, 3];
var newArr = arr.filter((item,index)=> {
  return arr.indexOf(item,0) === index;
});
console.log(newArr);
So implementieren Sie die arr-(Array-)Deduplizierung in es6

Hier übergibt also jedes Element im arr-Array indexOf() Die von der Methode zurückgegebenen Indexwerte sind 0 1 2 1 2

arr.forEach(item => console.log(arr.indexOf(item))); // 0 1 2 1 2

Sie können indexOf verwenden, um eine Deduplizierung zu erreichen. Beispielsweise gibt das vierte Element 2 in arr einen Index von 1 bis indexOf zurück, aber sein aktueller Indexindex ist 3 , sind nicht gleich, was darauf hinweist, dass das aktuelle 2-Element bereits zuvor aufgetreten ist und daher herausgefiltert werden sollte.

【Verwandte Empfehlungen:

Javascript-Video-Tutorial

,

Web-Frontend

Das obige ist der detaillierte Inhalt vonSo implementieren Sie die arr-(Array-)Deduplizierung in es6. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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