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