2013-01-10 251 views
-1

我想比較兩個陣列彼此,看看是否有匹配,如果有什麼做。比較兩個JavaScript數組?

var answers = new Array("a","b","c","d", "e"); 
var correct = new Array("a","d"); 
// do a for loop 
// if there's a match console.log(letter + "is the correct answer") 
+1

請先嚐試一下,或者至少通過解釋你已經嘗試過的東西來表明你的努力。這是非常基本的東西。 – Amberlamps

+0

請定義「是否匹配」。 –

回答

3

嘗試使用這樣的:

for(var i = 0; i < answers.length; i++) { 
    for(var j = 0; j < correct.length; j++){ 
     if (answers[i] === correct[j]){ 
      console.log(answers[i]+ " is the correct answer") 
      break; 
     } 
    } 
} 
+1

你實際上可以在'if'語句中添加一個'break'。 – Amberlamps

+1

@Amberlamps ..哎呀,我錯過了。更新:-) –

0

試試這個代碼:

var a = [1,2,3,4] 
    , b = [1,3,5,7,9] 
    , c = ['a','b','c']; 

function findDups(arr1, arr2) { 
    var arrs = [ arr1, arr2 ].sort(function(a,b) { 
    return a.length > b.length; 
    }); 
    return arrs[0].filter(function(v) { 
    return ~arrs[1].indexOf(v); 
    }); 
} 

function hasDups(arr1, arr2) { 
    return !!findDups(arr1, arr2).length; 
} 

console.log(findDups(a,b)); //=> [1, 3] 
console.log(hasDups(a,c)); //=> false