2015-06-21 57 views
0

我正在寻找一种简单的方法来检查多维数组中的值是否在JavaScript中重复。JavaScript多维数组检查重复

其实,我有一个表单,其中包含多个货币,汇率和金额的输入 我想在提交表单前调用JavaScript函数进行检查。

这里是阵列

Array(
    [0] => Array("CNY","2","1000") 
    [1] => Array("EUR","5","1200") 
    [2] => Array("USD","3","900") 
    [3] => Array("USD","8","1500") 
    [4] => Array("EUR","5","1200") 
) 

我的目的是检查该行也不可能完全一样。

就我而言,[1] =>数组(“EUR”,“5”,“1200”)和[4] =>数组(“EUR”,“5”,“1200”)是重复的。

最后,函数返回Key [1]和[4]。

如果有人能给我一些建议,我会很高兴。 非常感谢。

回答

0

使用该功能时,它返回具有含阵列中重复的值的按键阵列:

function find_keys_of_dupl(a){ 
    var k = []; 
    for(var i in a){ 
     for(var j in a){ 
      if(i!=j && JSON.stringify(a[i]) == JSON.stringify(a[j])){ 
       if(k.indexOf(i) < 0){ 
        k.push(i); 
       } 
      } 
     } 
    } 
    return k; 
} 

var a = [["CNY","2","1000"],["EUR","5","1200"],["USD","3","900"],["USD","8","1500"],["EUR","5","1200"]]; 
console.log(find_keys_of_dupl(a)); 

输出:

["1", "4"] 

演示:

https://jsfiddle.net/r0kk0nuk/

+0

谢谢!一个非常有用的脚本! – user3733240