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
Installation und Deinstallation anzeigen # rpm -q...
Verwandte Artikel: Anfänger lernen einige HTML-Ta...
TabIndex dient zum Drücken der Tabulatortaste, um ...
So stellen Sie Oracle mit Docker auf dem Mac bere...
Crontab ist ein Befehl zum Einrichten einer perio...
Sicht: Ansichten in MySQL haben viele Ähnlichkeit...
Tabellenstruktur einer MySQL-Tabelle schnell ände...
Schnellstart 1. Suchen Sie das Nginx-Image auf Do...
Heute ist der 618. und alle großen Einkaufszentre...
Heute Wählen Sie * aus Tabellenname, wobei to_day...
Test: Chrome v80.0.3987.122 ist normal Es gibt zw...
Wenn Sie Ihr MySQL-Anmeldekennwort vergessen, ist...
Inhaltsverzeichnis Rendern Installieren Code-Impl...
[LeetCode] 185. Die drei höchsten Gehälter der Ab...
Abhängigkeit vom Wissen Grundlagen der Go-Cross-K...