2013-07-06 168 views
0

我想比較兩個數組的值彼此。如果找到了匹配 - 執行某項操作 - 否則請執行此操作。比較數組與嵌套循環

我放在一起擺弄着我的代碼在http://jsfiddle.net/ZvmHx/1/

如果您取消註釋第14行的第二警報,你會看到什麼是錯的。我似乎無法阻止第二次警報發射。

謝謝!

var getkeywords = ["John","Frank","Sarah"]; 
var captionarray = ["Jim","Joe","Lee","Steve","John","Michelle","Brad"];  

for (k = 0; k < getkeywords.length; k++) { 
    for (l = 0; l < captionarray.length; l++) { 

    if(getkeywords[k] == captionarray[l]){ 

     alert('Found > ' + getkeywords[k] + ':filter image'); 

    }else{ 

     //alert('not found > ' + getkeywords[k] + ':filter image'); 

    } 
    } 
} 
+0

你想做什麼? – Prashant16

回答

2

if/else正在爲內循環的每次迭代進行測試。我認爲你在測試後,如果在內環已經運行之後你有一場比賽。喜歡的東西:

var getkeywords = ["John","Frank","Sarah"]; 
var captionarray = ["Jim","Joe","Lee","Steve","John","Michelle","Brad"];  
var matchFound; 

for (k = 0; k < getkeywords.length; k++) { 
    matchFound = false; 

    for (l = 0; l < captionarray.length; l++) { 
     if (getkeywords[k] == captionarray[l]){ 
      matchFound = true; 
      break; 
     } 
    } 

    if(matchFound){ 

     alert('Found > ' + getkeywords[k] + ':filter image'); 

    }else{ 

     alert('not found > ' + getkeywords[k] + ':filter image'); 

    } 
} 
+0

你打敗了我。 +1。 –

+0

是的!非常感謝你! – andehlu

+0

*輸入錯誤* –

0

我創建了一個新的小提琴: -

http://jsfiddle.net/WZGyy/

var getkeywords = ["John","Frank","Sarah"]; 
var captionarray = ["Jim","Joe","Lee","Steve","John","Michelle","Brad"];  

imagecode = ''; 
var found=0; 
for (k = 0; k < getkeywords.length; k++) 
{ 
    for (l = 0; l < captionarray.length; l++) 
    { 

     if(getkeywords[k] == captionarray[l]) 
     { 


      found=1; 
      break; 

     } 
    } 

    if(found==1) 
    { 
     alert('Found > ' + getkeywords[k] + ':filter image'); 
     found=0; 


    } 
    else 
    { 
     alert('not found > ' + getkeywords[k] + ':filter image'); 

    } 
} 

希望幫助..

+0

感謝Abhinsit。超級讚賞! – andehlu

0

提醒的結果,你必須在所有比較值之前第二陣列中的物品 我更新了您的jsfiddle - 嘗試輸入http://jsfiddle.net/ZvmHx/5/

var getkeywords = ["John","Frank","Sarah"]; 
var captionarray = ["Jim","Joe","Lee","Steve","John","Michelle","Brad"];  

imagecode = ''; 
for (k = 0; k < getkeywords.length; k++) { 
    var isExists = false; 
    for (l = 0; l < captionarray.length; l++) { 
     if (getkeywords[k] == captionarray[l]){      
      isExists = true; 
      break; 
     } 
    } 

    if (isExists) { 
     alert('Found > ' + getkeywords[k] + ':filter image'); 
    } else { 
     alert('not found > ' + getkeywords[k] + ':filter image'); 
    } 
} 
+0

乾杯亞歷克斯!大。 – andehlu