2015-06-21 91 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