Heim > Web-Frontend > js-Tutorial > Welche Möglichkeiten gibt es, Duplikate aus Javascript-Arrays zu entfernen?

Welche Möglichkeiten gibt es, Duplikate aus Javascript-Arrays zu entfernen?

青灯夜游
Freigeben: 2021-06-22 16:42:30
Original
1778 Leute haben es durchsucht

Methode zum Entfernen von Duplikaten: 1. Verwenden Sie die Anweisung „Array.from(new Set(arr))“ 2. Verwenden Sie die Anweisung „[...new Set(arr)]“ 3. Verwenden Sie „arr.filter( (item,index )=>arr.indexOf(item)===index)“-Anweisung.

Welche Möglichkeiten gibt es, Duplikate aus Javascript-Arrays zu entfernen?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, JavaScript-Version 1.8.5, Dell G3-Computer.

Mehrere Möglichkeiten, JavaScript-Arrays zu deduplizieren

1. Array.from(new Set(arr))

const arr = [1, 2, 3, 2, 3];

Array.from(new Set(arr)); // [1, 2, 3]
Nach dem Login kopieren

Da die Elemente im Set eindeutig sind, unabhängig davon, ob es sich um Originalwerte oder Objektreferenzen handelt , sodass eine Deduplizierung durch Konvertieren des Arrays in ein Set-Objekt erreicht werden kann

Array.from-Methode kann das Set-Objekt in ein Array konvertierenArray.from方法可以将 Set 对象转换成数组

2、[…new Set(arr)]

const arr = [1, 2, 3, 2, 3];
[...new Set(arr)]; // [1, 2, 3]
Nach dem Login kopieren

这里是通过 ES6 的展开语法将 Set 对象转换成数组;

3、arr.filter((item, index) => arr.indexOf(item) === index)

const arr = [1, 2, 3, 2, 3];

arr.filter((item, index) => arr.indexOf(item) === index); // [1, 2, 3]
Nach dem Login kopieren

indexOf方法返回指定元素在数组中的第一个索引(index), 如果没有则返回 -1

所以这里的 arr 数组中的每个元素通过 indexOf() 方法返回的索引值分别是 0 1 2 1 2

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

可以通过 indexOf 来实现去重,比如 arr 中的第四个元素 2 通过 indexOf 返回的是索引是 1, 但是它当前的 index 下标是 3,不相等,说明当前的这个 2

2, [...new Set(arr) ] rrreee

Hier ist die Erweiterungssyntax von ES6 zum Konvertieren des Set-Objekts in ein Array; 🎜🎜🎜🎜3, arr.filter((item, index) => arr.indexOf (item) == = index)🎜🎜🎜rrreee🎜indexOf Methode gibt den ersten Index (Index) des angegebenen Elements im Array zurück, andernfalls gibt sie -1 zurück🎜🎜Also hier ist arr Jedes Element im Array Die von der indexOf()-Methode zurückgegebenen Indexwerte sind 0 1 2 1 2🎜rrreee🎜Sie können indexOf verwenden, um eine Deduplizierung zu erreichen, z Das vierte Element in arr2 gibt einen Index von 1 bis indexOf zurück, aber sein aktueller Indexindex ist 3, was nicht gleich ist, was darauf hinweist, dass der aktuelle 2 Element ist in Es ist schon einmal erschienen, daher sollte es herausgefiltert werden🎜🎜[Verwandte Empfehlung: 🎜Javascript-Lerntutorial🎜🎜]🎜🎜

Das obige ist der detaillierte Inhalt vonWelche Möglichkeiten gibt es, Duplikate aus Javascript-Arrays zu entfernen?. 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