JavaScript verwendet häufig Array-Deduplizierung tatsächliche Kampf Quellcode

JavaScript verwendet häufig Array-Deduplizierung tatsächliche Kampf Quellcode

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.
In realen Projekten wird die Array-Deduplizierung normalerweise im Hintergrund und selten vom Front-End übernommen. Obwohl die Wahrscheinlichkeit, es in täglichen Projekten zu verwenden, relativ gering ist, müssen Sie es dennoch verstehen, falls Sie im Vorstellungsgespräch danach gefragt werden.

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:

8 häufig verwendete JavaScript-Array-Deduplizierung Praktischer Quellcode „Praktische Trockenwaren“

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:

8 häufig verwendete JavaScript-Array-Deduplizierung Praktischer Quellcode „Praktische Trockenwaren“

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:

8 häufig verwendete JavaScript-Array-Deduplizierung Praktischer Quellcode „Praktische Trockenwaren“

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:

8 häufig verwendete JavaScript-Array-Deduplizierung Praktischer Quellcode „Praktische Trockenwaren“

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:

8 häufig verwendete JavaScript-Array-Deduplizierung Praktischer Quellcode „Praktische Trockenwaren“

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:

8 häufig verwendete JavaScript-Array-Deduplizierung Praktischer Quellcode „Praktische Trockenwaren“

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 häufig verwendete JavaScript-Array-Deduplizierung Praktischer Quellcode „Praktische Trockenwaren“

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:

8 häufig verwendete JavaScript-Array-Deduplizierung Praktischer Quellcode „Praktische Trockenwaren“

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 Untersuchung des Problems der Array-Deduplizierung in JavaScript
  • JavaScript-Array-Deduplizierungslösung
  • Detaillierte Erläuterung mehrerer Methoden zur Deduplizierung im Javascript-Array
  • Detaillierte Erklärung der JavaScript-Array-Deduplizierung
  • Beispiele und Vergleich von 3 Methoden zur Deduplizierung von JS-Objekt-Arrays
  • js konvertiert ein mehrdimensionales Array in ein eindimensionales Array und ordnet es dann neu
  • Detaillierte Diskussion mehrerer Methoden zur Deduplizierung von JavaScript-Arrays

<<:  Detaillierte Erläuterung der Verwendung und Vorsichtsmaßnahmen von Crontab unter Linux

>>:  Tutorial zur Installation von MYSQL5.7 aus dem OEL7.6-Quellcode

Artikel empfehlen

Lösung für Überlauf: versteckter Fehler in CSS

Ursache des Fehlers Als ich heute ein Karussell s...

Tiefgreifendes Verständnis der logischen Architektur von MySQL

MySQL ist heute die Datenbank, die von den meiste...

Wie lang ist eine Funktion in js?

Inhaltsverzeichnis Vorwort Warum Wie viel kostet ...

Informationen zum CSS-Floating und zum Aufheben des Floatings

Definition von Float Setzt das Element aus dem no...

Verwenden Sie CSS-Variablen, um coole und erstaunliche Schwebeeffekte zu erzielen

Kürzlich habe ich auf der Grover-Website eine lus...

So bereinigen Sie Ihre Docker-Daten vollständig

Inhaltsverzeichnis Regelmäßig beschneiden Spiegel...

Der Unterschied zwischen ${param} und #{param} in MySQL

Der von ${param} übergebene Parameter wird als Te...

Erläuterung der Konfiguration und Verwendung der MySQL-Speicher-Engine InnoDB

MyISAM und InnoDB sind die gängigsten Speicher-En...

Geplantes Teilen von Skripten für MySQL-Datenbanksicherungen

BackUpMysql.sh-Skript #!/bin/bash PATH=/bin:/sbin...