如何使用jquery在数组中查找重复项

我有一个jQuery数组:

var arr = $('input[name$="recordset"]'); 

我得到的数组的值如8或6

如果数组值重复或重复,我需要显示“请不要重复这些值” 。 如果不是,我需要继续前进。

使用jQuery任何人都可以告诉我如何找到重复的值?

 var unique_values = {}; var list_of_values = []; $('input[name$="recordset"]'). each(function(item) { if ( ! unique_values[item.value] ) { unique_values[item.value] = true; list_of_values.push(item.value); } else { // We have duplicate values! } }); 

我们正在做的是创建一个哈希来列出我们已经看到的值,以及一个列表来存储所有唯一值。 对于每个输入,选择器返回我们正在检查我们是否已经看到了该值,如果不是,我们将它添加到我们的列表中并将其添加到已经看到的值的哈希值中。

 // For every input, try to find other inputs with the same value $('input[name$="recordset"]').each(function() { if ($('input[name$="recordset"][value="' + $(this).val() + '"]').size() > 1) alert('Duplicate: ' + $(this).val()); }); 

希望如果有人寻找这种要求,下面的片段会有所帮助

 var recordSetValues = $('input[name$="recordset"]').map(function () { return this.value; }).get(); var recordSetUniqueValues = recordSetValues.filter(function (itm, i, a) { return i == a.indexOf(itm); }); if (recordSetValues .length > recordSetUniqueValues.length) { alert("duplicate resource") } 
 $('form').submit(function(e) { var values = $('input[name="recordset[]"]').map(function() { return this.value; }).toArray(); var hasDups = !values.every(function(v,i) { return values.indexOf(v) == i; }); if(hasDups){ // having duplicate values alert("please do not repeat the values"); e.preventDefault(); } });