Comment comparer deux ensembles javascript? J'ai essayé d'utiliser ==
et ===
mais les deux renvoient false.
a = new Set([1,2,3]);
b = new Set([1,3,2]);
a == b; //=> false
a === b; //=> false
Ces deux ensembles sont équivalents, car par définition, les ensembles n'ont pas d'ordre (du moins pas généralement). J'ai regardé la documentation de Set on MDN et je n'ai rien trouvé d'utile. Quelqu'un sait-il comment faire ça?
new Set([1,2,3]) != new Set([1,2,3])
. Cela rend l' ensemble Javascript inutile pour les ensembles d'ensembles car le sur-ensemble contiendra des sous-ensembles en double. La seule solution de contournement qui me vient à l'esprit consiste à convertir tous les sous-ensembles en tableaux, à trier chaque tableau, puis à encoder chaque tableau sous forme de chaîne (par exemple JSON).
===
est pour l'égalité des valeurs, pas l'égalité des objets.