Javascript:在数组中保存重复项的索引

标签 javascript jquery arrays

我创建了这个函数来查找网络表单中的重复条目,我需要的是将每个重复项的索引号存储在另一个数组中......

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/

相关文章:

javascript - 如何在网站上使用 svg 元素制作 block 的屏幕截图?

javascript - Jquery:检查属性 id 是否具有特定模式

c# - 通过 jQuery 从发布请求的部分 View 中检索数据

Javascript 无法在 XAMPP 上的 PHP 中运行

javascript - 如何在 JavaScript 中访问父对象的其他属性而不直接访问父引用?

javascript - 从对话框附加 html 后,JqueryUI DateTimePicker 按钮停止工作

arrays - 枚举由字典元素组成的数组时,无法修改字典值

java - 找到二维数组邻居的值?

c - 在 k&r 书练习 1.18 中编写一个程序来删除每行输入中的尾随空白和制表符,并删除整个空白行

javascript - 在 JavaScript 数组中求和