Menu
Coddy logo textTech

Math - Différence d'ensembles

Fait partie de la section Logique & Flux du Journey JavaScript de Coddy — leçon 38 sur 65.

La différence de deux ensembles A et B (souvent notée A - B) est un nouvel ensemble qui contient les éléments qui sont dans A mais pas dans B. Cette opération n'est pas commutative, ce qui signifie que A - B n'est pas nécessairement identique à B - A.

Par exemple :

const setA = new Set([1, 2, 3, 4, 5]);
const setB = new Set([3, 4, 5, 6, 7]);

// A - B: éléments dans A mais pas dans B
const differenceAB = new Set([...setA].filter(x => !setB.has(x)));
console.log('A - B:', differenceAB); // Set { 1, 2 }

// B - A: éléments dans B mais pas dans A
const differenceBA = new Set([...setB].filter(x => !setA.has(x)));
console.log('B - A:', differenceBA); // Set { 6, 7 }
challenge icon

Défi

Facile

Créez une fonction appelée setDifference 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 contient les éléments présents dans set1 mais pas dans set2, convertissez-le en tableau et retournez-le.

Aide-mémoire

La différence de deux ensembles A et B (A - B) crée un nouvel ensemble contenant les éléments qui sont dans A mais pas dans B. Cette opération n'est pas commutative (A - B ≠ B - A).

Pour trouver la différence entre des ensembles, convertissez les tableaux en ensembles et utilisez les opérations d'ensemble pour trouver les éléments présents dans le premier ensemble mais pas dans le second. Par exemple :

const setA = new Set([1, 2, 3, 4, 5]);
const setB = new Set([3, 4, 5, 6, 7]);

// A - B: elements in A but not in B
const differenceAB = new Set([...setA].filter(x => !setB.has(x)));
console.log('A - B:', differenceAB); // Set { 1, 2 }

// B - A: elements in B but not in A
const differenceBA = new Set([...setB].filter(x => !setA.has(x)));
console.log('B - A:', differenceBA); // Set { 6, 7 }

Essayez vous-même

function setDifference(arr1, arr2) {
    const set1 = new Set(arr1)
    const set2 = new Set(arr2)
    const differenceSet = new Set();
    // Écrivez votre code ici
    
    
    return Array.from(differenceSet);
}
quiz iconTestez-vous

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