Jquery找到重复的电子邮件

时间:2011-03-16 18:29:41

标签: jquery

我想查看列表中的重复电子邮件,因此我会收到一封电子邮件列表,然后不知道如何循环它以便比较列表中的每封电子邮件..

var emails = $('td.emails input');
emails.each(function(){

how to compare emails here

});

3 个答案:

答案 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/