Heim  >  Artikel  >  Web-Frontend  >  Welche drei Methoden gibt es, um Duplikate aus Knotenarrays zu entfernen?

Welche drei Methoden gibt es, um Duplikate aus Knotenarrays zu entfernen?

WBOY
WBOYOriginal
2022-02-28 16:09:333534Durchsuche

Methode: 1. Verwenden Sie die Kartendatenstruktur, um eine Deduplizierung zu erreichen, und speichern Sie jedes Element des Arrays als Schlüssel in der Karte. 2. Verwenden Sie die Set-Methode in es6, um eine Deduplizierung zu erreichen. Die Syntax lautet „Set (Array)“. 3. Verwenden Sie die forEach-Anweisung mit indexOf, um Duplikate zu entfernen.

Welche drei Methoden gibt es, um Duplikate aus Knotenarrays zu entfernen?

Die Betriebsumgebung dieses Artikels: Windows 10-System, NodeJS-Version 12.19.0, Dell G3-Computer.

Welche drei Methoden gibt es zum Deduplizieren von Knotenarrays? Die erste Methode besteht darin, die Kartendatenstruktur zum Deduplizieren zu verwenden.

Erstellen Sie eine leere Kartendatenstruktur, durchlaufen Sie das Array, das dedupliziert werden muss, und speichern Sie jedes Element des Arrays als Schlüssel zur Kartenmitte. Da derselbe Schlüsselwert nicht in der Karte angezeigt wird, ist das Endergebnis das Deduplizierungsergebnis

function a(arr) {
                let map = new Map();
                let array = new Array();  // 数组用于返回结果
                for (let i = 0; i < arr.length; i++) {
                    if (map.has(arr[i])) {  // 如果有该key值
                        map.set(arr[i], true);
                    } else {
                        map.set(arr[i], false);   // 如果没有该key值
                        array.push(arr[i]);
                    }
                }
                return array;
            }
            var arr = [1, 1, 2, 2, 3, 3, 4, 4, 5, 5];
            console.log(a(arr)) //[1,2,3,4,5]

Die zweite Methode besteht darin, in ES6 die einfachste Deduplizierungsmethode zu verwenden

let arr2 = [1, 2, 3, 4, 5, 5, 4, 3];
            let res = [...new Set(arr2)];
            console.log(res);

Die dritte Methode ist forEach+indexOf-Implementierung Empfohlenes Lernen von

var arr3 = [1, 1, 2, 2, 3, 3, 4, 4, 5, 5];
            var b = distinct(arr3);
            function distinct(arr) {
                result = [],
                    len = arr3.length; //len=10;
                arr3.forEach(function (v, i, arr3) {
                    var bool = arr3.indexOf(v, i + 1);
                    //从传入参数的下一个索引值开始寻找是否存在重复
                    if (bool === -1) {
                        result.push(v);
                    }
                })
                return result;
            };
            console.log(b.toString()); //1,2,3,4,5

: „

nodejs Video-Tutorial

Das obige ist der detaillierte Inhalt vonWelche drei Methoden gibt es, um Duplikate aus Knotenarrays zu entfernen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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