Union d'ensembles basée sur une fonction

Beginner

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

Introduction

Dans ce laboratoire, nous allons apprendre à implémenter l'union d'ensembles basée sur une fonction en JavaScript. Nous utiliserons la fonction de comparaison fournie pour trouver et retourner tous les éléments qui existent au moins une fois dans l'un des deux tableaux. À la fin du laboratoire, vous aurez une meilleure compréhension de l'utilisation de la méthode Array.prototype.findIndex() et de l'objet Set pour comparer et combiner des tableaux.

Comment trouver l'union de deux tableaux basée sur une fonction

Pour trouver l'union de deux tableaux basée sur une fonction en utilisant Node.js, suivez ces étapes :

  1. Ouvrez le Terminal/SSH et tapez node.
  2. Utilisez le code suivant pour créer un Set avec toutes les valeurs de a et les valeurs de b pour lesquelles le comparateur ne trouve pas de correspondance dans a, en utilisant Array.prototype.findIndex() :
const unionWith = (a, b, comp) =>
  Array.from(
    new Set([...a, ...b.filter((x) => a.findIndex((y) => comp(x, y)) === -1)])
  );
  1. Appelez la fonction unionWith avec trois arguments : le premier tableau, le second tableau et la fonction de comparaison.
  2. La fonction renvoie chaque élément qui existe au moins une fois dans l'un des deux tableaux, en utilisant la fonction de comparaison fournie.
  3. Voici un exemple d'appel de la fonction unionWith :
unionWith(
  [1, 1.2, 1.5, 3, 0],
  [1.9, 3, 0, 3.9],
  (a, b) => Math.round(a) === Math.round(b)
);
// [1, 1.2, 1.5, 3, 0, 3.9]

Cela renverra [1, 1.2, 1.5, 3, 0, 3.9] comme l'union des deux tableaux.

Sommaire

Félicitations ! Vous avez terminé le laboratoire sur l'Union d'ensembles basée sur une fonction. Vous pouvez pratiquer d'autres laboratoires sur LabEx pour améliorer vos compétences.