Javascript 带滤波器的关联数组差分
我想得到两个数组中的差,我写了这段代码。 但它不适用于关联数组 代码 结果Javascript 带滤波器的关联数组差分,javascript,Javascript,我想得到两个数组中的差,我写了这段代码。 但它不适用于关联数组 代码 结果 array_diff([{a: "A"}, {b: "B"}], [{a: "A"}, {b: "B"}, {c: "C"}]); >> [{a: "A"}, {b: "B"}, {c: "C"}] 请告知。根据索引,问题在于您的对象不相等 例如: var a1 = {a: "A"}; var a2 = {a: "A"}; a1 == a2; // THIS IS FALSE 因此,您需要实现自己的平等
array_diff([{a: "A"}, {b: "B"}], [{a: "A"}, {b: "B"}, {c: "C"}]);
>> [{a: "A"}, {b: "B"}, {c: "C"}]
请告知。根据
索引
,问题在于您的对象不相等
例如:
var a1 = {a: "A"};
var a2 = {a: "A"};
a1 == a2; // THIS IS FALSE
因此,您需要实现自己的平等测试。这是否必须跨任何可能的JS对象工作
您可以将对象转换为字符串并进行比较,但这并不能提供良好的性能:
JSON.stringify(a1) === JSON.stringify(a2) // THIS IS TRUE
你可能会觉得有用
JSON.stringify(a1) === JSON.stringify(a2) // THIS IS TRUE