使用$ .map在对象中查找重复的字符串

时间:2015-05-31 14:19:32

标签: javascript jquery

从以下代码中我希望elist只包含er中的每个字符串一次。我的意思是elist具有er的唯一值。但我没有在elist中获得唯一的字符串。这有什么不对吗?

i = 0; 
elist = "";
$.map(er, function(value, key){                          
    if ( isDuplicate(value, er, i) < 0 ) {
        elist += value;  
    }
    $("#"+key).addClass('has-error');
    i += 1;
});

function isDuplicate(str, er_, offset){
    j = 0; 
    return_val = -1

    $.map(er_, function(value, key){
        alert(j +'>'+offset+'------'+value+'=='+str);
        if ( j > offset && value == str){
            return_val = j;
            alert('matched');
        }
        j += 1;
    });

    return return_val;
}

1 个答案:

答案 0 :(得分:0)

你可以使用更简单的东西:

var arr=[];
$.map(er, function(value, key){           
    if   ( arr.indexOf(value) == -1 ) 
   {arr.push(value);}
});
alert(arr.join());

http://jsfiddle.net/7cohow41/3/