2016-12-27 56 views
2

嗨,我正在開發一個jQuery應用程序。我試圖比較這兩個數組。例如,Jquery比較並返回字符串數組

Firstarray=["Mike","Jack"]; 
SecondArray=["Mike","Jack","Andy","Cruz"]; 

每當我們比較上述兩個數組我想回到它存在於兩個數組或字符串是常見的兩種陣列!

我試着如下。這段代碼不起作用。

for (var i = 0; i < Firstarray.length; i++) { 
    for (var j = 0; j < SecondArray.length; j++) { 
    if (Firstarray[i] == SecondArray[j]) { 
     alert('found ' + SecondArray[j]); 
     return; 
    } 
    } 
} 

任何人都可以在這方面幫助我!非常感謝你。

回答

3

可以使用indexOf()功能

Firstarray=["Mike","Jack"]; 
 
SecondArray=["Mike","Jack","Andy","Cruz"]; 
 
var result = new Array(); 
 
for (var i = 0; i < Firstarray.length; i++) { 
 
    if(SecondArray.indexOf(Firstarray[i])>=0){ 
 
    result.push(Firstarray[i]); 
 
    } 
 
} 
 
console.log(result);

+0

合作。非常感謝 –

+0

太好了,將其中一個答案解決了,然後 – anu

+0

每當我去打那個按鈕,它說你可以在2分鐘內接受答案。 –

2

var FirstArray=["Mike","Jack"]; 
 
var SecondArray=["Mike","Jack","Andy","Cruz"]; 
 
var commonArray = Array(); 
 
var count=0; 
 

 
for (var i=0; i<FirstArray.length; i++) { 
 
    for (var j=0;j< SecondArray.length;j++) { 
 
    if (FirstArray[i] == SecondArray[j]){ 
 
     commonArray[count]=FirstArray[i]; 
 
     count++; 
 
    } 
 
    } 
 
} 
 

 
console.log(commonArray);

2

嘗試改變一些東西在你的代碼:

var Firstarray=["Mike","Jack"]; 
var SecondArray=["Mike","Jack","Andy","Cruz"]; 
var matchedData = []; 


for (var i = 0; i < Firstarray.length; i++) { 
       for (var j = 0; j < SecondArray.length; j++) { 
        if (Firstarray[i] == SecondArray[j]) { 
         matchedData.push(SecondArray[j]); 

        } 
       } 
      } 
      alert(matchedData); 

工作小提琴: https://jsfiddle.net/o3brcsvw/

2

試試這個

var Firstarray=["Mike","Jack"]; 
var SecondArray=["Mike","Jack","Andy","Cruz"]; 
var matchedData = []; 
for (var i = 0; i < Firstarray.length; i++) { 
    for (var j = 0; j < SecondArray.length; j++) { 
     if (Firstarray[i] == SecondArray[j]) { 
      //alert('found ' + SecondArray[j]); 
      matchedData.push(SecondArray[j]); 
     } 
    } 
} 
return matchedData; 
3

這裏使用Array.prototype.filterArray.prototype.some一些ES6沿解決方案引發的味道 - 請參閱下面的演示:

var firstArray=["Mike","Jack"]; 
 
var secondArray=["Mike","Jack","Andy","Cruz"]; 
 

 
var result = secondArray.filter(a => firstArray.some(b => a === b)); 
 

 
console.log(result);