我创建了这个函数来查找网络表单中的重复条目,我需要的是将每个重复项的索引号存储在另一个数组中......
function arrTieneDups( arr )
{
var xi, xj, xn;
n=arr.length;
for (xi=0; xi<n; xi++) {
for (xj=xi+1; xj<n; xj++) {
if (arr[xi]==arr[xj]) return true;
} }
return false;
}
循环遍历这个新数组并使用它..
for (var i in arr2)
{
$( "input[name$='matricula"+i+"']" ).addClass("errorformalta");
$( "input[name$='matricula"+i+"']" ).addClass("errorinputtext");
$( "input[name$='matricula"+i+"']" ).after('<span style="display: inline; margin-left: -20px; opacity: 1;font-size:48px;color:red;font-weight:800;" class="pyr_error_form">!</span>');
}
我现在也在做......通过 Orcuro 代码。但结果并不如预期。我需要“var it”作为重复项目的索引号。例如:2,4,6 我想要的是,向用户指示他们引入重复数据的字段。
for (var it in arrTieneDups(matriculas) )
{
$( "input[name$='matricula"+it+"']" ).addClass("errorformalta");
$( "input[name$='matricula"+it+"']" ).addClass("errorinputtext");
$( "input[name$='matricula"+it+"']" ).after('<span style="display: inline; margin-left: -20px; opacity: 1;font-size:48px;color:red;font-weight:800;" class="pyr_error_form">!</span>');
error_validation=1;
error_top=1;
error_mat_formato="</br>! Matrícula(s) inválida(s)";
error_look="</br>Revise también los siguientes errores:";
all_ok=1;
}
最佳答案
您可以将此“重复对象”数组作为参数传递。类似...
function arrTieneDups( arr )
{
var xi, xj;
var dupeArray = [];
n=arr.length;
for (xi=0; xi<n; xi++) {
for (xj=xi+1; xj<n; xj++) {
if (arr[xi]==arr[xj])
dupeArray.push(arr [xi]);
} }
return dupeArray;
}
从那里,在函数之外,迭代该数组并像以前一样添加必要的样式。
for (var i in arrTieneDups( yourArray ) )
{
$( "input[name$='matricula"+i+"']" ).addClass("errorformalta");
$( "input[name$='matricula"+i+"']" ).addClass("errorinputtext");
$( "input[name$='matricula"+i+"']" ).after('<span style="display: inline; margin-left: -20px; opacity: 1;font-size:48px;color:red;font-weight:800;" class="pyr_error_form">!</span>');
}
语法可能有问题。我现在没有办法测试。
关于Javascript:在数组中保存重复项的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34024596/