Javascript的.includes函数无法与对象数组一起正常使用[重复]
我有一个使用该.includes()
函数的对象数组。我正在用数组中的一个对象搜索该数组(对象是相同的)。但是似乎没有匹配项。我已经在这个小提琴中重复了这个问题。代码也在下面。那么检查数组是否包含对象的正确方法是什么?
let list1 = [{ name: "object1"
},
{
name: "object2"
},
{
name: "object3"
},
{
name: "object4"
}
]
if (list1.includes({
name: "object1"
})) {
document.write('contains')
} else {
document.write('doesnt')
}
回答:
您不能直接比较对象,但是使用此方法,可以将它们与JSON.stringify比较。
let list1 = [{ name: "object1"
},
{
name: "object2"
},
{
name: "object3"
},
{
name: "object4"
}
]
var contains = list1.some(elem =>{
return JSON.stringify({name: "object1"}) === JSON.stringify(elem);
});
if (contains) {
document.write('contains')
} else {
document.write('doesnt')
}
以上是 Javascript的.includes函数无法与对象数组一起正常使用[重复] 的全部内容, 来源链接: utcz.com/qa/420870.html