Har*_*wis 3 javascript node.js
我有一个使用该.includes()函数的对象数组。我正在用数组中的对象搜索该数组(对象是相同的)。但是似乎没有匹配项。我已经在这个小提琴中重复了这个问题。代码也在下面。那么检查数组是否包含对象的正确方法是什么?
let list1 = [{
name: "object1"
},
{
name: "object2"
},
{
name: "object3"
},
{
name: "object4"
}
]
if (list1.includes({
name: "object1"
})) {
document.write('contains')
} else {
document.write('doesnt')
}Run Code Online (Sandbox Code Playgroud)
您可以尝试以下
let list1 = [{name:"object1"},{name:"object2"},{name:"object3"},{name:"object4"}]
if (list1.some(({name}) => name === "object1")) {
document.write('contains')
} else {
document.write('doesnt')
}Run Code Online (Sandbox Code Playgroud)
您不能直接比较对象,但是使用此方法,可以将它们与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')
}Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6628 次 |
| 最近记录: |