如何检查对象是否存在于JSON中,是否使用Javascript

如何检查对象是否存在于JSON中,是否使用Javascript,javascript,ecma,Javascript,Ecma,我有一个对象数组用户 "users" : [ { fname: "subrato", lname:"patnaik", password:"123" }, { fname: "john", lname:"doe", password:"123" } ] 我想检查上面的JSON数

我有一个对象数组
用户

"users" : [
  {
     fname: "subrato",
     lname:"patnaik",
     password:"123"
  },
 {
     fname: "john",
     lname:"doe",
     password:"123"    
 }
]
我想检查上面的JSON数据是否包含下面的对象

{fname:"subrato", password:"123"}

我们如何在Javascript中做到这一点呢?

您需要在数组中循环并检查它

arr.forEach(obj => {
  if(obj.fname == 'name' && obj.password == 'password') {
    // Do stuff
  }
})

使用JavaScript函数,如果找到对象,它将返回true

让用户=[
{
fname:“subrato”,
lname:“patnaik”,
密码:“123”,
},
{
fname:“约翰”,
名称:“doe”,
密码:“123”,
},
];
让我们检查=用户。一些((x)=>x.fname==“subrato”&&x.password==“123”);

控制台日志(检查)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"))

预期结果:如果存在,则为true,否则为false