Maison  >  Article  >  interface Web  >  Quelles sont les trois méthodes pour supprimer les doublons des tableaux de nœuds ?

Quelles sont les trois méthodes pour supprimer les doublons des tableaux de nœuds ?

WBOY
WBOYoriginal
2022-02-28 16:09:333534parcourir

Méthode : 1. Utilisez la structure de données de la carte pour réaliser la déduplication et stockez chaque élément du tableau comme clé dans la carte ; 2. Utilisez la méthode set dans es6 pour réaliser la déduplication, la syntaxe est "Set(array)" ; 3. Utilisez l'instruction forEach avec indexOf pour supprimer les duplications.

Quelles sont les trois méthodes pour supprimer les doublons des tableaux de nœuds ?

L'environnement d'exploitation de cet article : système Windows 10, nodejs version 12.19.0, ordinateur Dell G3.

Quelles sont les trois méthodes pour dédupliquer des tableaux de nœuds

La première méthode consiste à utiliser la structure de données Map pour dédupliquer

Créer une structure de données Map vide, parcourir le tableau qui doit être dédupliqué et enregistrer chaque élément du tableau comme clé du milieu de la carte. Puisque la même valeur clé n'apparaîtra pas dans la carte, le résultat final est le résultat de la déduplication

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]

La deuxième consiste à utiliser set dans ES6 est la méthode de déduplication la plus simple

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

La troisième est l'implémentation forEach+indexOf Apprentissage recommandé par

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

 : "Tutoriel vidéo Nodejs"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn