我有一个对象users
的数组。
"users" : [
{
fname: "subrato",
lname:"patnaik",
password:"123"
},
{
fname: "john",
lname:"doe",
password:"123"
}
]
我想检查上面的JSON数据是否包含下面的对象。
{fname:"subrato", password:"123"}
我们怎么能在Javascript中做到这一点?
使用JavaScript的一些函数,如果找到对象,它将返回true。
let users = [
{
fname: "subrato",
lname: "patnaik",
password: "123",
},
{
fname: "john",
lname: "doe",
password: "123",
},
];
let check = users.some((x) => x.fname === "subrato" && x.password === "123");
console.log(check);
您需要循环遍历数组并对其进行检查。
arr.forEach(obj => {
if(obj.fname == 'name' && obj.password == 'password') {
// Do stuff
}
})
Array.includes按照对象标识进行比较,就像obj===obj2一样,所以遗憾的是,除非这两个项是对同一对象的引用,否则这是不起作用的。你可以经常使用Array.prototype.some((,它接受一个函数:
let users = [
{
fname: "subrato",
lname:"patnaik",
password:"123"
},
{
fname: "john",
lname:"doe",
password:"123"
}
]
console.log(users.some(item => item.fname === 'subrato' && item.password === "123"))