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

js+Html zur Realisierung einer Tabellenbearbeitungsoperation

In diesem Artikel wird der spezifische Code von j...

Detaillierte Erklärung zur Verwendung von umask unter Linux

Ich habe vor Kurzem angefangen, Linux zu lernen. ...

SQL-Fuzzy-Abfragebericht: ORA-00909: Lösung: Ungültige Anzahl von Parametern

Bei Verwendung einer Oracle-Datenbank für Fuzzy-A...

Zusammenfassung aller HTML-Interviewfragen

1. Die Rolle des Doctypes, der Unterschied zwisch...

Nginx Reverse-Proxy-Konfiguration entfernt Präfix

Wenn Sie nginx als Reverse-Proxy verwenden, könne...

Detaillierte Erklärung des Prinzips und der Verwendung von MySQL-Ansichten

Dieser Artikel veranschaulicht anhand von Beispie...

Zehn beliebte Regeln für das Interface-Design

<br />Dies ist ein Artikel, den ich vor lang...

Die perfekte Lösung für das AutoFill-Problem in Google Chrome

In Google Chrome werden Sie nach der erfolgreiche...