我有一个正在使用的对象数组.includes()
功能。我正在使用数组中的对象搜索该数组(对象是相同的)。但似乎没有匹配项。我已将问题复制到这把小提琴 https://jsfiddle.net/6dua0u0n/。代码也在下面。那么检查数组是否包含 am 对象的正确方法是什么?
let list1 = [{
name: "object1"
},
{
name: "object2"
},
{
name: "object3"
},
{
name: "object4"
}
]
if (list1.includes({
name: "object1"
})) {
document.write('contains')
} else {
document.write('doesnt')
}
您不能直接比较对象,而是使用这个方法 https://stackoverflow.com/a/1144249/2894798,您可以将它们与 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')
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)