Javascript algorithm to find elements in array that are not in another array
        Posted  
        
            by Tauren
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by Tauren
        
        
        
        Published on 2010-06-03T04:14:44Z
        Indexed on 
            2010/06/03
            4:24 UTC
        
        
        Read the original article
        Hit count: 388
        
I'm looking for a good algorithm to get all the elements in one array that are not elements in another array. So given these arrays:
var x = ["a","b","c","t"];
var ?????????y = [???????"d","a","t","e","g"];
I want to end up with this array:
var z = ["d","e","g"];
I'm using jquery, so I can take advantage of $.each() and $.inArray(). Here's the solution I've come up with, but it seems like there should be a better way.
// goal is to get rid of values in y if they exist in x
var x = ["a","b","c","t"];
var y = ["d","a","t","e","g"];
var z = [];
$.each(y, function(idx, value){
  if ($.inArray(value,x) == -1) {
    z.push(value);
  }
});
?alert(z);  // should be ["d","e","g"]
Here is the code in action. Any ideas?
© Stack Overflow or respective owner