- Depuis Firefox 127, les nouvelles méthodes de
Set sont disponibles dans la plupart des principaux moteurs de navigateurs, ce qui permet de les utiliser partout sans polyfill
- Elles offrent des moyens optimisés pour la déduplication, la comparaison, l’intersection, la différence, les sous-ensembles, etc., ce qui évite de devoir les implémenter soi-même
- Sur de gros volumes de données, elles peuvent offrir un avantage en performance par rapport aux Array (à condition de garder à l’esprit que l’ordre n’est pas garanti)
- Nouvelles méthodes de
Set : intersection(), union(), difference(), symmetricDifference(), isSubsetOf(), isSupersetOf(), isDisjointFrom() ; ces dernières renvoient une valeur booléenne indiquant l’état correspondant
Qu’est-ce que Set en JavaScript ?
Set ressemble à un Array, mais chaque valeur ne peut y être stockée qu’une seule fois
Set fournit un moyen intégré et pratique de créer des collections uniques
- En général, vérifier la présence d’un élément est plus rapide dans un
Set que dans un Array
L’union de deux ensembles
- La méthode
union permet d’identifier les éléments présents dans l’un ou l’autre, ou dans les deux
- Il n’est plus nécessaire d’écrire une implémentation personnalisée pour supprimer les doublons et effectuer des comparaisons
L’intersection d’ensembles
- La méthode
intersection permet d’identifier les éléments communs à deux ensembles
- Elle peut servir à mettre en évidence les éléments présents dans les deux ensembles uniquement
La différence symétrique entre ensembles
- La méthode
symmetricDifference permet d’identifier les éléments présents dans un seul des deux ensembles, mais pas dans les deux
symmetricDifference applique l’opération logique inverse de intersection
La différence entre ensembles
- La méthode
difference permet d’identifier les éléments présents dans un ensemble mais pas dans l’autre
- On peut utiliser l’ensemble produit par
difference pour mettre en évidence les éléments d’une liste qui n’apparaissent pas dans une autre
Sous-ensemble, surensemble et disjoints
- Les méthodes
isSubsetOf() et isSupersetOf() ne renvoient pas un nouvel ensemble, mais une valeur booléenne représentant un état précis ou une vérification logique
- La méthode
isDisjointFrom() permet de vérifier si deux ensembles n’ont aucun élément en commun
Résumé
- Les méthodes de
Set sont un concept intéressant et facile à comprendre
- L’auteur aimerait connaître d’autres façons d’utiliser ces méthodes dans des exemples concrets
- En espérant pouvoir bien exploiter les méthodes de
Set dans votre prochain projet
1 commentaires
On dirait qu’on a ajouté des fonctions encore plus « ensemblistes ».