使用洛达什下划线比较重复电子邮件的列表
Compare list of duplicate emails using lodash underscore
我将尝试解释我需要做什么,为什么解释起来不那么简单。
我有4个电子邮件列表,其中有重复的项目,需要提取这些电子邮件,例如:
list 1:
email1, email2, email4, email5
list 2:
email2, email3, email5, email6
list 3:
email1, email2, email7, email8
list 4:
email2, email4, email6, email7
我需要这个:结果:
email1 (list1, list3)
email2 (list1, list2, list3, list4)
email3 (list2)
....
我正在尝试使用 javascript 来做到这一点,因为实际上这些电子邮件在 excel 中......
JSbin:http://jsbin.com/zerexuviya/edit?html,js,console,output
这是我
刚刚仅使用下划线编写的解决方案.js: https://jsfiddle.net/alienpavlov/b0zaz5Lw/
var all = {
"list1": [
"email1",
"email2",
"email3",
"email4",
"email5",
"email6"
],
"list2": [
"email2",
"email3",
"email6",
"email7"
],
"list3": [
"email1",
"email3",
"email4",
"email5",
"email6"
],
"list4": [
"email1",
"email3",
"email5",
"email6"
]
};
var listOfAllEmails = _.union.apply(undefined, _.values(all));
_.each(listOfAllEmails, function(email, i) {
var result = [];
_.each(all, function(list, j) {
if (_.indexOf(list, email) > -1) {
result.push(j);
}
});
if (result.length > 1) {
//console.log(email, "=>", result);
var div = document.getElementById("result")
div.innerHTML = div.innerHTML + email + " (" + result + ")<br>";
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script>
<div id="result"></div>
这一切都与对数组进行排序有关。如果您有任何问题,请随时在评论中提问。
相关文章:
- 如果我在javascript中输入无效的电子邮件或空白,如何显示特定的文本框边框红色
- 使用angularjs验证文本框中的电子邮件
- 电子邮件表单 选择列表菜单
- SharePoint 2010 和电子邮件列表视图
- CRM Javascript:获取参与者列表的电子邮件地址
- 根据电子邮件通讯中使用的有序答案列表生成投票/调查代码
- 通过JavaScript从CRM 2011检索可排序电子邮件列表
- ENYO-有没有ENYO类型可以从预定义的电子邮件域列表中建议并自动完成域后缀
- <a>超文本电子邮件链接的标签.JS搞砸了我的下拉列表,因为它是基于<a>标签
- 电子邮件列表/集合使用下划线/短划线进行混洗和配对
- 动态单击复选框并在列表中添加电子邮件地址,并使用javascript删除重复的电子邮件地址
- 我在试着做FB.登录只获取电子邮件,姓名和位置-但Facebook API总是要求用户提供“朋友列表”;访问权限
- 如何获得所有电子邮件地址的列表谁打开了我的邮件通过mandrill api发送
- 验证逗号分隔的电子邮件列表
- 根据下拉列表值删除字段RSS 0回复以电子邮件订阅
- 验证多个电子邮件列表
- 如何将活动目录中的电子邮件组列表填充到数组中
- 使用洛达什下划线比较重复电子邮件的列表
- 在添加到列表时验证表单中的电子邮件字段
- 表单 - 下拉列表中的先前所选值到电子邮件