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

回到顶部