问题描述
"users" : [
{
fname: "subrato",lname:"patnaik",password:"123"
},{
fname: "john",lname:"doe",password:"123"
}
]
我要检查上面的JSON数据是否包含下面的对象。
{fname:"subrato",password:"123"}
我们怎么用Java语言做到这一点?
解决方法
使用JavaScript的某些功能,如果找到对象,它将返回true。
let users = [
{
fname: "subrato",lname: "patnaik",password: "123",},{
fname: "john",lname: "doe",];
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"))