在JavaScript中,Array.prototype.includes()函数用于判断数组是否包含某个元素。当比较对象时,includes()函数会使用严格相等运算符(===)来进行比较。
下面是一个使用includes()函数比较对象的示例代码:
const obj1 = { name: 'Alice', age: 25 };
const obj2 = { name: 'Bob', age: 30 };
const obj3 = { name: 'Alice', age: 25 };
const array = [obj1, obj2];
console.log(array.includes(obj1)); // true
console.log(array.includes(obj2)); // true
console.log(array.includes(obj3)); // false
在这个示例中,我们创建了三个对象obj1,obj2和obj3,obj1和obj3的属性值是相同的。然后,我们将obj1和obj2添加到数组array中。
接下来,我们使用includes()函数来判断对象是否在数组中。我们使用obj1作为参数调用includes()函数,它返回true,因为obj1与数组中的一个元素相等。同样,使用obj2作为参数也会返回true,因为obj2也在数组中。然而,使用obj3作为参数调用includes()函数将返回false,因为obj3虽然与数组中的一个元素属性值相等,但不是同一个对象。
需要注意的是,includes()函数是通过引用来比较对象的,而不是通过对象的内容来比较。只有当两个对象引用的是同一个对象时,includes()函数才会返回true。