如何检查两个对象(仅特定键值)的相等性,一个对象类型是数字,另一个是字符串类型,但它们是数字。我想检查两个对象的x1、x2、x3和x4值是否相等,而不是所有的对象值
var object1 = {
id: 1234
x1: "1.000000",
x2: undefined,
x3: "1.0",
x4: "1.0",
x5: somevale 1
};
var object2 = {
id: 3456
x1: 1,
x2: undefined,
x3: 1,
x4: 1,
x5: somevalue 2
};
我从如何检查两个对象的相等性中得到了答案,一个对象的属性类型是数字,另一个对象的类型是字符串,但它们是数字。该解决方案检查对象的每个属性,我对我的两个对象得到的属性为false,因为其他属性不能相同。
4条答案
按热度按时间h4cxqtbf1#
如果两个对象具有相同的关键点,可以使用
Object.keys
.9q78igpj2#
这是对前面问题的已接受答案的修改版本——如果字段“x1”、“x2”、“x3”、“x4”是宽松相等的,则两个对象只考虑相等。
该算法的要点是使用js
every
功能:对于[“x1”、“x2”、“x3”、“x4”]中的每个字段,object1
必须(松散地)相等object2
在那个领域k4ymrczo3#
but5z9lq4#
您可以使用
array#every
并检查两个对象中是否存在键,然后比较它们的值。