Comparing two array and sorting the array through javascript

Hi,
   I have 2 array ex: arr1,arr2,
   in arr1 it has 4 values ex : 1,5,9,10
   in arr2 it has 12 values ex : 1,2,3,4,5,6,7,8,9,10,11,12

how to compare these 2 array and filter the arr1 from arr2 ie i want the values that are not in first array but found in 2nd array.
ie i want the values : 2,3,4,6,7,8,11,12

Thanx




LVL 1
mohan21_kumarAsked:
Who is Participating?
 
pratap_rCommented:
hope this will suffice...

a=new Array(5,1,9,10);
b=new Array(1,2,3,4,5,6,7,8,9,10,11,12);

a.sort(sortfunc); //sort using a custom callback
b.sort(sortfunc);

c=new Array();
for(i=0; i < b.length;i++)c[i]=b[i];//make a copy of the array

for(i=0; i < a.length;i++)
{
      for(j=0; j < c.length;j++)
      {
            if(c[j]==a[i])c.splice(j,1);//there is a match, remove the item from the list
      }
}
alert(c); //shows 2,3,4,6,7,8,11,12

//our custom callback for sorting
function sortfunc(item1,item2)
{
    if (parseInt(item1) < parseInt(item2))return -1;
    if (parseInt(item1) > parseInt(item2))return +1;
      return 0;
}


Enjoy!
Pratap
0
 
MexicanHeatCommented:
Pratap r's answer should work, but if youre looking for a better understanding of the sort itself try this link:

http://cplusplus.com/ref/cstdlib/qsort.html

http://www.pscode.com/vb/scripts/ShowCode.asp?txtCodeId=6646&lngWId=3
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.