Maison  >  Article  >  interface Web  >  Un résumé très complet de 12 méthodes pour supprimer les doublons des tableaux JavaScript

Un résumé très complet de 12 méthodes pour supprimer les doublons des tableaux JavaScript

不言
不言original
2018-09-17 13:57:111369parcourir

Ce que cet article vous apporte est un résumé de 12 méthodes de déduplication de tableaux JavaScript ultra-complètes. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.

La déduplication de tableau est généralement rencontrée lors des entretiens. Il est généralement nécessaire d'écrire manuellement le code de la méthode de déduplication de tableau. Si on vous le demande, quelles sont les méthodes de déduplication des baies ? Si vous pouvez répondre à 10 d’entre elles, l’intervieweur sera probablement impressionné par vous.
La déduplication de tableau rencontrée dans les projets réels est généralement traitée en arrière-plan, et le front-end est rarement utilisé pour traiter la déduplication de tableau. Bien que la probabilité de l'utiliser dans des projets quotidiens soit relativement faible, vous devez tout de même le connaître au cas où on vous poserait des questions à ce sujet lors de l'entretien.

Méthodes de déduplication des tableaux

1. Utilisez ES6 Set pour dédupliquer (le plus couramment utilisé dans ES6)

function unique (arr) {
  return Array.from(new Set(arr))
}
var arr = [1,1,'true','true',true,true,15,15,false,false, undefined,undefined, null,null, NaN, NaN,'NaN', 0, 0, 'a', 'a',{},{}];
console.log(unique(arr))
 //[1, "true", true, 15, false, undefined, null, NaN, "NaN", 0, "a", {}, {}]

Ne prend pas en compte la compatibilité. Cette méthode de déduplication contient le moins de code. Cette méthode ne peut pas supprimer l'objet vide "{}". Les méthodes d'ordre supérieur ultérieures ajouteront et supprimeront l'objet vide "{}".

2. Utilisez pour pour imbriquer, puis épisser pour supprimer les doublons (le plus couramment utilisé dans ES5)

function unique(arr){            
        for(var i=0; i9f347873f76a9ee4de6e2912f3ef80ad= 1){
            if(arrry[index] === arrry[index-1]){
                arrry.splice(index,1);
            }
            loop(index - 1);    //递归loop,然后数组去重
        }
    }
    loop(len-1);
    return arrry;
}

10. Utilisez la structure de données Map pour supprimer les doublons

function arrayNonRepeatfy(arr) {
  let map = new Map();
  let array = new Array();  // 数组用于返回结果
  for (let i = 0; i b19bd76fabfacb5b456c1f11521d7750 {
    if(s1 !== s2){
      array .push(s1);
    }
    return s2;
  })
  array .push(sortArr[sortArr.length - 1]);
  return array ;
}

12 [...new Set(arr)]

[...new Set(arr)] 
//代码就是这么少----(其实,严格来说并不算是一种,相对于第一种方法来说只是简化了代码)
PS : Certains articles mentionnent la méthode de déduplication de tableau foreach+indexOf. Personnellement, je pense qu'ils sont tous similaires, donc je ne les ai pas écrits.

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