Maison  >  Article  >  interface Web  >  Comment supprimer les doublons d'un tableau javascript

Comment supprimer les doublons d'un tableau javascript

青灯夜游
青灯夜游original
2021-09-07 17:59:392255parcourir

Méthode : 1. Utilisez l'instruction "[...new Set(arr)]" ; 2. Utilisez l'instruction "Array.from(new Set(arr))" ; 3. Utilisez les fonctions filter et indexOf ; .Utilisez double La boucle for vérifie si les valeurs sont dupliquées, et s'il y a des doublons, utilisez push() pour les supprimer.

Comment supprimer les doublons d'un tableau javascript

L'environnement d'exploitation de ce tutoriel : système Windows 7, JavaScript version 1.8.5, ordinateur Dell G3.

Méthode 1 : […new Set(arr)]

const arr = [1, 2, 3, 2, 3];
[...new Set(arr)]; // [1, 2, 3]

Méthode 2 : Array.from(new Set(arr))

const arr = [1, 2, 3, 2, 3];
Array.from(new Set(arr)); // [1, 2, 3]

Puisque les éléments de Set sont uniques, qu'il s'agisse de la valeur d'origine ou Il s'agit d'une référence d'objet, vous pouvez donc réaliser la déduplication en convertissant le tableau en un objet Set. La méthode Array.from peut convertir l'objet Set en un tableau.

Méthode 3 : Utilisez filter+ indexOf

function unique(arr) {
  return arr.filter(function(item, index, arr) {
    //当前元素,在原始数组中的第一个索引==当前索引值,否则返回当前元素
    return arr.indexOf(item, 0) === index;
  });
}
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", 0, "a", {…}, {…}]

Méthode 4 : Double boucle for

La façon la plus simple de comprendre, la boucle externe traverse les éléments et la boucle interne vérifie s'il y a des doublons

Lorsqu'il y en a valeurs en double, vous pouvez utiliser push() ou splice()

function distinct(a, b) {
    let arr = a.concat(b);
    for (let i=0, len=arr.length; i<len; i++) {
        for (let j=i+1; j<len; j++) {
            if (arr[i] == arr[j]) {
                arr.splice(j, 1);
                // splice 会改变数组长度,所以要将数组长度 len 和下标 j 减一
                len--;
                j--;
            }
        }
    }
    return arr
}

Mais cette méthode prend beaucoup de mémoire et est la moins efficace

Comment supprimer les doublons dun tableau javascript

Méthode 5 : pour...de + include()

Une version améliorée de la boucle double for. Utilisez l'instruction for...of pour remplacer la boucle for dans la couche externe et changez la boucle interne en include()

Créez d'abord un tableau vide lorsque include() renvoie false. , ajoutez l'élément push au tableau vide

De même, vous pouvez également utiliser indexOf() pour remplacer include()

function distinct(a, b) {
    let arr = a.concat(b)
    let result = []
    for (let i of arr) {
        !result.includes(i) && result.push(i)
    }
    return result
}

Comment supprimer les doublons dun tableau javascript【Apprentissage recommandé :

Tutoriel avancé javascript

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