我想查看列表中的重复电子邮件,因此我会收到一封电子邮件列表,然后不知道如何循环它以便比较列表中的每封电子邮件..
var emails = $('td.emails input');
emails.each(function(){
how to compare emails here
});
答案 0 :(得分:3)
您可以使用哈希来跟踪唯一性。在Javascript中,这意味着一个对象;试试这个:
var emails = $('td.emails input');
var found = {};
emails.each(function() {
var email = $(this).val();
if (email in found) {
// duplicate!
} else {
found[email] = true;
}
});
答案 1 :(得分:2)
如果您需要删除重复项,可以使用Jquery Unique
答案 2 :(得分:0)
function arrUnique(arr) {
var o = {}, i, l = arr.length, r = [];
for(i=0; i<l;i+=1) o[arr[i]] = arr[i];
for(i in o) r.push(o[i]);
return r;
};
var emails = $('td.emails input');
var emailArr = [];
emails.each(function(){
emailArr.push($(this).val());
});
emailArr = arrUnique(emailArr);
收集我认为拥有电子邮件文本的所有输入值并删除重复项。 emailArr是一个包含所有电子邮件的数组。您可以将它们转换回数组,电子邮件用逗号分隔:
alert( emailArr.join(',') );
从这里获取的唯一数组函数:http://www.shamasis.net/2009/09/fast-algorithm-to-find-unique-items-in-javascript-array/