JavaScript: Enlever les doublons d’un tableau

La fonction suivante permet de se débarrasser des doublons présents dans
un tableaux avec élégance.

//cleanArray removes all duplicated elements
function cleanArray(array) {
  var i, j, len = array.length, out = [], obj = {};
  for (i = 0; i < len; i++) {
    obj[array[i]] = 0;
  }
  for (j in obj) {
    out.push(j);
  }
  return out;
}

On va créer un tableau associatif avec chaque valeur présente dans le
tableau passé en paramètre. Ainsi, lorsqu’un doublon est rencontré,
l’ajout d’un champ avec le même index n’a pas d’effet. On parcourt
ensuite ce tableau et l’on stocke les indexes dans le tableau out qui
sera retourné.

Exemple:

var nbr = [42, 101010, 7, 42, 7, 42, 101010];
var newNbr = cleanArray(nbr);
console.log(newNbr);

Qui donnera:

["42", "101010", "7"]

 

Anonyme

Auteur/autrice : Victor

Ingénieur en informatique de formation et de métier, j’administre ce serveur et son domaine et privilégie l'utilisation de logiciels libres au quotidien. Je construis progressivement mon "cloud" personnel service après service pour conserver un certain contrôle sur mes données numériques.

12 réflexions sur « JavaScript: Enlever les doublons d’un tableau »

  1. Mieux vaudrait mettre un signe + deavant le j, lors du push, pour retrouver un tableau d’entiers plutôt que de chaînes de caractères…

    1. Bonne remarque!
      Il conviendrait donc de modifier la fonction en conséquence pour pouvoir l’utiliser indifféremment sur un tableau d’entier ou de chaînes de caractères. Ou de choisir l’une ou l’autre des versions selon qu’on manipule exclusivement l’un des deux types de tableaux.

Répondre à Julien de Prabère Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *