Math - Différence symétrique
Fait partie de la section Logique & Flux du Journey JavaScript de Coddy — leçon 39 sur 65.
La différence symétrique de deux ensembles A et B est un nouvel ensemble qui contient les éléments qui sont soit dans A, soit dans B, mais pas dans les deux. Elle peut être considérée comme l'union de A - B et B - A.
Par exemple :
const set1 = new Set(arr1);
const set2 = new Set(arr2);
// Créer la différence symétrique
const symmetricDiff = new Set([
...set1.difference(set2),
...set2.difference(set1)
]);
// Reconvertir en tableau
const result = Array.from(symmetricDiff);Défi
FacileCréez une fonction appelée efficientSymmetricDifference qui prend deux tableaux en paramètres : arr1 et arr2. La fonction doit convertir les tableaux en ensembles (sets). Créez un nouvel ensemble (Set) qui est la différence symétrique des deux ensembles d'entrée, convertissez-le en tableau et retournez le tableau.
Aide-mémoire
La différence symétrique de deux ensembles contient les éléments qui se trouvent dans l'un ou l'autre des ensembles, mais pas dans les deux. C'est l'union de A - B et B - A. Par exemple :
// Convertir les tableaux en ensembles
const set1 = new Set(arr1);
const set2 = new Set(arr2);
// Créer la différence symétrique
const symmetricDiff = new Set([
...set1.difference(set2),
...set2.difference(set1)
]);
// Reconvertir en tableau
const result = Array.from(symmetricDiff);Essayez vous-même
function efficientSymmetricDifference(arr1, arr2) {
const set1 = new Set(arr1)
const set2 = new Set(arr2)
const symDiff = new Set();
// Écrivez votre code ici
return Array.from(symDiff);
}
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Logique & Flux
1Les chaînes de caractères en profondeur
Fondamentaux des chaînesParcourir les chaînesTemplate LiteralsMéthodes des chaînesRécapitulatif - String Weaver4JSON Partie 2
Itérer sur du JSONJSON imbriquéChaînage optionnel JSONCopie superficielle et profondeRécapitulatif - Magasin de vélosRécapitulatif - Système solaire7Système de gestion de bibliothèque
Présentation du projetAjouter des livres2Tableaux multidimensionnels
Bases des tableaux 2DAccès aux éléments d'un tableau 2DBoucles imbriquées et tableaux 2DRécapitulatif - Tableaux 2DAddition et soustraction de matricesTableaux irréguliers (Jagged Arrays)Tableaux 3D et au-delàModèles courants de tableaux 2DRécapitulatif - Tout sur les tableaux3JSON Partie 1
Qu'est-ce qu'un JSON ?Vérifier si une clé existeMéthodes d'objetL'opérateur Spread Partie 1L'opérateur Spread Partie 2Supprimer des clésRécapitulatif - Manipuler les clés JSON6Ensembles - Partie 2
Math - Union d'ensemblesMath - Intersection d'ensemblesMath - Différence d'ensemblesMath - Différence symétriqueSous-ensembles et sur-ensemblesRécapitulatif - Grouper des amis