我有两个数组:

var a = new Array(1,2,3,4);
var b = new Array(5,3,2,6);

我想找出哪些元素在a数组中,但不在数组b中,哪些元素在b中,但不在a中?

我知道一种方法是遍历它们,但是有没有更有效的方法?

感谢您的时间。

最佳答案

您可以尝试以下方法:

var aNotInB = $.grep(a, function($e) { return $.inArray($e, b) == -1; });
var bNotInA = $.grep(b, function($e) { return $.inArray($e, a) == -1; });

您可以将其定义为jquery函数:
$.disjoin = function(a, b) {
    return $.grep(a, function($e) { return $.inArray($e, b) == -1; });
};

var aNotInB = $.disjoin(a,b);
var bNotInA = $.disjoin(b,a);

07-24 09:50
查看更多