为了账号安全,请及时绑定邮箱和手机立即绑定

检查json是否包含key

检查json是否包含key

月关宝盒 2023-04-14 17:31:41
我想搜索一个 JSON 文件,看看它是否包含我要搜索的电子邮件地址(下面代码中的 example@mail.com)。但是,它不起作用。function contains(arr, key, val) {  for (var i = 0; i < arr.length; i++) {      if(arr[i][key] === val) return true;  }  return false;}emailRecord = JSON.parse(req.responseText); //Got this from an XMLHttpRequest.if(contains(fullEmailRecord, "email", "example@mail.com")) {   console.log("LOGGED IN")}JSON:[  {    "email": "example@mail.com"  },  {    "email": "mail@example.com"  }]function contains(arr, key, val) {  for (var i = 0; i < arr.length; i++) {      if(arr[i][key] === val) return true;  }  return false;}const fullEmailRecord = [  {    "email": "example@mail.com"  },  {    "email": "mail@example.com"  }];if(contains(fullEmailRecord, "email", "example@mail.com")) {   console.log("LOGGED IN")}
查看完整描述

3 回答

?
www说

TA贡献1775条经验 获得超8个赞

我认为它比这简单得多,在字符串而不是 json 中搜索它,如下所示:

req.responseText.contains("example@mail.com")

或者

req.responseText.indexOf("example@mail.com") > -1

完整使用:

if (req.responseText.contains("example@mail.com")) { 
  console.log("LOGGED IN")
}


查看完整回答
反对 回复 2023-04-14
?
动漫人物

TA贡献1815条经验 获得超10个赞

它在代码片段中有效,但在原始代码段中无效,因为fullEmailRecord使用的是变量而不是emailRecord .



查看完整回答
反对 回复 2023-04-14
?
慕姐4208626

TA贡献1852条经验 获得超7个赞

做这个:

arr.map(e => e.email === 'YOUR EMAIL');

如果返回一个对象那么它存在

换句话说,你可以改变你的功能

function contains(arr, key, val) {
  return arr.map(e => e[key] === val)
}


查看完整回答
反对 回复 2023-04-14
  • 3 回答
  • 0 关注
  • 127 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信