JavaScript 集合和值对象
JavaScript sets and value objects
我想在 JavaScript 中创建一个 set of value objects。问题是在 JavaScript 中,平等是基于身份的。因此,具有相同值的两个不同对象将被视为不相等:
var objects = new Set;
objects.add({ a: 1 });
objects.add({ a: 1 });
alert(objects.size); // expected 1, actual 2
你是如何解决这个问题的?
使用JSON.stringify
:
var objects = new Set;
objects.add(JSON.stringify({ a: 1 }));
objects.add(JSON.stringify({ a: 1 }));
alert(objects.size);
我想在 JavaScript 中创建一个 set of value objects。问题是在 JavaScript 中,平等是基于身份的。因此,具有相同值的两个不同对象将被视为不相等:
var objects = new Set;
objects.add({ a: 1 });
objects.add({ a: 1 });
alert(objects.size); // expected 1, actual 2
你是如何解决这个问题的?
使用JSON.stringify
:
var objects = new Set;
objects.add(JSON.stringify({ a: 1 }));
objects.add(JSON.stringify({ a: 1 }));
alert(objects.size);