2013-06-27 2 views
1

У меня есть 2 массива, в этом 2 мне нужен выход из массива, который существует только на 2-м массиве. я пробовал это, но не пытался;Как фильтровать массив только это не в другом значении массива

var x = ["apple","2","3", "4", "3", "x", "M"], y = ["4","5","apple","zoo"]; 

var z = y.filter(function(){ 
    return $.inArray(y,x) === -1; 
}) 

console.log(z); i am looking for ["5","zoo"] 

как мне фильтровать вот так .. любая помощь?

ответ

2

Попробуйте

var x = ["apple","2","3", "4", "3", "x", "M"], y = ["4","5","apple","zoo"]; 

var z = $.map(y, function(val, idx){ 
    return $.inArray(val, x) === -1 ? val : undefined; 
}) 

Демо: Fiddle

0
var x = ["apple","2","3", "4", "3", "x", "M"] 
, y = ["4","5","apple","zoo"] 
, result = []; 
$.each(x, function (i, v) { 
    if ($.inArray(v, y) !== -1) { 
     result.push(v); 
    } 
}); 
console.log(result); 

http://jsfiddle.net/svCys/1