• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 612
  • Last Modified:

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




0
mohan21_kumar
Asked:
mohan21_kumar
1 Solution
 
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

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now