javascript - 获取节点 Js 中重复 JSON 对象中值相同的电子邮件
问题描述
我有一组 JSON 对象。
[{ Email: 'aa@gmail.com', status: 'Success' }
{ Email: 'bb@gmail.COM', status: 'Fail' }
{ Email: 'aa@gmail.COM', status: 'Fail' }
{ Email: 'cc@gmail.com', status: 'Success' }]
现在我想要具有不同状态值的电子邮件列表与相同的电子邮件。从上面的示例中,我可以期待电子邮件aa@gmail.com
,因为在第一个位置aa@gmail.com
有 valueSuccess
而在第三个位置aa@gmail.com
有 value Fail
。
如何在 Java Script 中实现这一点?
解决方案
这段代码可以工作,但它不是正确的方法 - 当您分配需要检查它们是否已经存在的值时,如果存在,请将其放入数组中,这会更容易。
var mail = [{ Email: 'aa@gmail.com', status: 'Success' }
{ Email: 'bb@gmail.COM', status: 'Fail' }
{ Email: 'aa@gmail.COM', status: 'Fail' }
{ Email: 'cc@gmail.com', status: 'Success' }];
var emails = mails.map(mail => mail.Email);
var emailChecker = [];
var emailDetectedTwice = [];
for(var i = 0; i<=emails.length-1; i++){
if(!emailChecker.includes(emails[i].toLowerCase())){
emailChecker.push(emails[i])
} else {
emailDetectedTwice.push(emails[i])
}
}
console.log(emailDetectedTwice);
推荐阅读
- java - 在 RecyclerView 中切换项目视图类型
- javascript - jsPDF宽度/高度在设置时显示未定义
- javascript - Chrome 请求比其他浏览器请求花费更长的时间
- webpack - 减少 Javascript 文件大小或拆分?网络包 4
- google-apps-script - Gmail 脚本并退回到电报
- c# - AspNet Core 2.1 Identity - 外部登录用户注销不持久
- emacs - Emacs在文本下显示的颜色与背景略有不同?
- java - 使用 JSON-B 将 UUID 序列化为 JSON 中的规范十六进制字符串
- ios - react-native run-ios:无法确定应用程序的包标识符
- google-sheets - 使用 True 值增加 +1 个单元格