1
Я хочу создать set из value objects в JavaScript. Проблема в том, что в JavaScript равенство основано на идентичности. Таким образом, два разных объекта с одинаковым значением будет рассматриваться как неравные:Наборы и вычисления JavaScript
var objects = new Set;
objects.add({ a: 1 });
objects.add({ a: 1 });
alert(objects.size); // expected 1, actual 2
Как вы решить эту проблему?
См http://stackoverflow.com/questions/27094680/user-defined-object-equality-for-a-set-in-harmony- es6 – elclanrs
@elclanrs Единственная проблема с этим - накладные расходы, связанные с строкой и анализом данных. –
В одной из моих библиотек у меня есть собственная реализация Map, которая по крайней мере совместима с API. Я просто использую метод 'toString', как функция, которая позволяет обрабатывать массивы (примитивов) как кортежи. Конечно, это не работает из-за предметов. –