我想搜索一个 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") }
慕姐4208626
TA贡献1852条经验 获得超7个赞
做这个:
arr.map(e => e.email === 'YOUR EMAIL');
如果返回一个对象那么它存在
换句话说,你可以改变你的功能
function contains(arr, key, val) { return arr.map(e => e[key] === val) }
添加回答
举报
0/150
提交
取消