Mit der Array-Deduplizierung wird man häufig bei Vorstellungsgesprächen konfrontiert und in der Regel müssen Sie den Code für die Array-Deduplizierungsmethode handschriftlich verfassen. Wenn Sie gefragt werden: „Welche Methoden gibt es zum Deduplizieren von Arrays?“ Wenn Sie 10 davon beantworten können, wird der Interviewer wahrscheinlich von Ihnen beeindruckt sein. 1. Objekteigenschaften verwenden Nutzen Sie die Funktion eindeutiger Attributnamen von Objekten. var arr = ['qiang','ming','tao','li','liang','du','qiang','tao']; Konsole.Zeit("nichtredundant1"); var nonredundant1 = Object.getOwnPropertyNames(arr.reduce(Funktion(Seed, Item, Index) { Samen[Element] = Index; Samen zurückgeben; },{})); console.timeEnd("nichtredundant1"); console.log(nichtredundant1); Die Ergebnisse sind wie folgt: 2. Verwenden der Set-Datenstruktur Ein Set ist eine Struktur ähnlich einem Array, allerdings gibt es in den Set-Mitgliedern keine doppelten Werte. Die Funktion set() kann einen Array- oder arrayähnlichen Parameter akzeptieren, um ein Set-Objekt zu generieren. Mit der Methode Array.from werden zwei Objekttypen in echte Arrays umgewandelt: arrayähnliche Objekte (array-like objects und iterable objects), einschließlich der von ES6 hinzugefügten Datenstrukturen Set und Map. var arr = ['qiang','ming','tao','li','liang','du','qiang','tao']; Funktion einzigartig(arr) { gibt Array.from(neues Set(arr)) zurück } console.time("nichtredundant2"); var nichtredundant2 = eindeutig(arr); console.timeEnd("nichtredundant2"); console.log(nichtredundant2); Die Ergebnisse sind wie folgt: 3. Verwenden von for-Schleife und Splice Funktion einzigartig(arr) { für (var i = 0; i < arr.length; i++) { für (var j = i + 1; j < arr.length; j++) { if (arr[i] == arr[j]) { //Das erste ist gleich dem zweiten, die Splice-Methode löscht das zweite arr.splice(j, 1); J--; } } } Rückflug an; } console.time("nichtredundant3"); var arr = ['qiang', 'ming', 'tao', 'li', 'liang', 'du', 'qiang', 'tao']; var nichtredundant3 = einzigartig(arr); console.timeEnd("nichtredundant3"); console.log(nichtredundant3); Die Ergebnisse sind wie folgt: 4. Verwenden Sie indexOf, um die Entfernung von Duplikaten zu bestimmen Funktion einzigartig(arr) { var-Array = []; für (var i = 0; i < arr.length; i++) { wenn (Array.indexOf(arr[i]) === -1) { Array.push(arr[i]) } } Array zurückgeben; } var arr = ['qiang', 'ming', 'tao', 'li', 'liang', 'du', 'qiang', 'tao']; console.time("nichtredundant4"); var nichtredundant4 = einzigartig(arr); console.timeEnd("nichtredundant4"); console.log(nichtredundant4); Die Ergebnisse sind wie folgt: 5. Verwenden Sie die Sortierfunktion, um Duplikate zu sortieren und zu entfernen Funktion einzigartig(arr) { arr = arr.sort() var arrry = [arr[0]]; für (var i = 1; i < arr.length; i++) { wenn (arr[i] !== arr[i - 1]) { arrry.push(arr[i]); } } zurück arrry; } var arr = ['qiang', 'ming', 'tao', 'li', 'liang', 'du', 'qiang', 'tao']; Konsole.Zeit("nichtredundant5"); var nichtredundant5 = einzigartig(arr); console.timeEnd("nichtredundant5"); Die Ergebnisse sind wie folgt: 6. Verwenden Sie Filter Funktion einzigartig(arr) { var obj = {}; returniere arr.filter(Funktion(Element, Index, arr){ gibt obj.hasOwnProperty(Artikeltyp + Artikel) zurück? false : (Obj[Artikeltyp + Artikel] = true) }) } var arr = ['qiang', 'ming', 'tao', 'li', 'liang', 'du', 'qiang', 'tao']; Konsole.Zeit("nichtredundant6"); var nichtredundant6 = eindeutig (arr); console.timeEnd("nichtredundant6"); console.log(nichtredundant6); Die Ergebnisse sind wie folgt: 7. Verwenden Sie die Map-Datenstruktur, um Duplikate zu entfernen Funktion einzigartig(arr) { lass map = neue Map(); let array = new Array(); // Array wird verwendet, um Ergebnisse für (let i = 0; i < arr.length; i++) { zurückzugeben. if (map.has(arr[i])) { // Wenn ein Schlüsselwert vorhanden ist map.set(arr[i], true); } anders { map.set(arr[i], false); // Wenn es keinen solchen Schlüsselwert gibt array.push(arr[i]); } } Array zurückgeben; } var arr = ['qiang', 'ming', 'tao', 'li', 'liang', 'du', 'qiang', 'tao']; Konsole.Zeit("nichtredundant7"); var nichtredundant7 = einzigartig(arr); console.timeEnd("nichtredundant7"); console.log(nichtredundant7); Die Ergebnisse sind wie folgt: 8. Verwenden Sie „Reduce“ und „Include“, um Duplikate zu entfernen Funktion einzigartig(arr){ return arr.reduce((vorherige,aktuell) => vorherige.includes(aktuell) ? vorherige : [...vorherige,aktuell],[]); } var arr = ['qiang', 'ming', 'tao', 'li', 'liang', 'du', 'qiang', 'tao']; Konsole.Zeit("nichtredundant8"); var nichtredundant8 = einzigartig(arr); console.timeEnd("nichtredundant8"); console.log(nichtredundant8); Die Ergebnisse sind wie folgt: Damit ist dieser Artikel über den praktischen Quellcode der häufig verwendeten JavaScript-Array-Deduplizierung abgeschlossen. Weitere relevante Inhalte zur JS-Array-Deduplizierung finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: Detaillierte Erläuterung der Verwendung und Vorsichtsmaßnahmen von Crontab unter Linux
>>: Tutorial zur Installation von MYSQL5.7 aus dem OEL7.6-Quellcode
Inhaltsverzeichnis Was ist ein Containerdatenvolu...
Ursache des Fehlers Als ich heute ein Karussell s...
Vor langer Zeit habe ich einen Blogbeitrag mit de...
MySQL ist heute die Datenbank, die von den meiste...
Inhaltsverzeichnis Vorwort Warum Wie viel kostet ...
Hinweis: Es wird empfohlen, dass der Speicher der...
Definition von Float Setzt das Element aus dem no...
Kürzlich habe ich auf der Grover-Website eine lus...
Inhaltsverzeichnis Regelmäßig beschneiden Spiegel...
Im Webdesign hört man oft die Eigenschaftsnamen „...
Win10-Installation (überspringen, falls bereits i...
Installationsschritte 1. Redis installieren Laden...
Der von ${param} übergebene Parameter wird als Te...
MyISAM und InnoDB sind die gängigsten Speicher-En...
BackUpMysql.sh-Skript #!/bin/bash PATH=/bin:/sbin...