2015-06-20 66 views
0

我有2個陣列,例如返回true:比較2個數組,如果任何值匹配

數組1:一,二,三,四,五】 數組2:三,五]

如果Array2中的任何值與Array1中的任何值匹配,我需要一個返回true的函數。

我曾嘗試:

var compareArray = $.inArray(Array1, Array2); 

但這總是返回 '-1'。

+0

這是因爲$ .inArray()函數的值和數組。不是整個數組和另一個數組。所以,你必須遍歷數組(使用for循環)來傳遞每個值與其他數組進行比較。 – 3abqari

+0

好吧我將如何循環訪問數組並比較每個值與另一個數組?謝謝 –

回答

0

你可以嘗試蠻力算法,如果你只用小數組工作。像下面的東西應該工作。

function findMatch(arr1, arr2) { 
 
    for (i=0; i < arr1.length; i++) { 
 
    for (j=0; j < arr2.length; j++) { 
 
     if (arr1[i] === arr2[j]) { 
 
     return true 
 
     } 
 
    } 
 
    } 
 
    
 
    return false 
 
}