Valeurs uniques dans un tableau basées sur une fonction

Beginner

This tutorial is from open-source community. Access the source code

Introduction

Dans ce laboratoire, nous allons explorer une fonction JavaScript qui aide à trouver toutes les valeurs uniques dans un tableau en utilisant une fonction de comparaison fournie. Nous utiliserons les méthodes Array.prototype.reduce() et Array.prototype.some() pour créer un nouveau tableau qui contient seulement la première occurrence unique de chaque valeur, en fonction de la fonction de comparaison fournie. Ce laboratoire vous donnera une compréhension plus approfondie de la manière de manipuler les tableaux en JavaScript.

Trouver les valeurs uniques dans un tableau avec une fonction

Pour trouver toutes les valeurs uniques d'un tableau, fournissez une fonction de comparaison.

Utilisez Array.prototype.reduce() et Array.prototype.some() pour créer un tableau ne contenant que la première occurrence unique de chaque valeur. La fonction de comparaison fn prend deux arguments, les valeurs des deux éléments en cours de comparaison.

const uniqueElementsBy = (arr, fn) =>
  arr.reduce((acc, v) => {
    if (!acc.some((x) => fn(v, x))) acc.push(v);
    return acc;
  }, []);

Pour tester la fonction, utilisez l'exemple ci-dessous :

uniqueElementsBy(
  [
    { id: 0, value: "a" },
    { id: 1, value: "b" },
    { id: 2, value: "c" },
    { id: 1, value: "d" },
    { id: 0, value: "e" }
  ],
  (a, b) => a.id == b.id
); // [ { id: 0, value: 'a' }, { id: 1, value: 'b' }, { id: 2, value: 'c' } ]

Commencez à pratiquer la programmation en ouvrant le Terminal/SSH et en tapant node.

Sommaire

Félicitations ! Vous avez terminé le laboratoire sur les Valeurs uniques dans un tableau basé sur une fonction. Vous pouvez pratiquer d'autres laboratoires sur LabEx pour améliorer vos compétences.