В Python, можно иметь набор множеств с помощью frozenset
:Набор множеств (множеств ...)
s, t = frozenset([1]), frozenset([1])
u = {s, t} # u == {frozenset([1])}
Теперь, ECMAScript 6 приносит Set
объект, есть ли способ JavaScript должен иметь набор, содержащий другие множества, однозначно, т.е. отказаться от всех наборов, кроме одного, имеющих одни и те же элементы?
Я спрашиваю, потому что это не работает:
var s = new Set([1]), t = new Set([1]);
var u = new Set([s, t]); // u == Set{Set{1}, Set{1}}
Я понимаю, что, вероятно, Set
хэш указателей других наборов она включает в себя, именно поэтому два {1}
появляются различны. Я спрашиваю, есть ли способ в JavaScript для достижения описанного выше поведения Python.
Поведение верное. Множества 's' и' t' - разные объекты, поэтому они должны быть разными. – trincot
* «Я спрашиваю, есть ли способ JavaScript для достижения поведения Python, описанного выше». * Нет. JavaScript не имеет способа определить равномерность объекта. –
@FelixKling Если это действительно так, пожалуйста, напишите свой ответ ниже, я приму его. –