javascript - jQuery 不相交

标签 javascript jquery arrays

我有两个数组:

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);

关于javascript - jQuery 不相交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/980309/

相关文章:

javascript - jQuery 计算图像背景位置的顶部位置?

javascript - JS重命名对象键,同时保留其在对象中的位置

javascript - 使 Webpack 输出文件相对于输入文件

javascript - 如何禁用由子元素触发的 mouseout 事件?

jquery - 使用flexbox得到2个等高的div,但是内容呢?

python - Numpy:当对数组数组应用 bool 掩码时,记录原始数组中的项目的最有效方法

javascript - Javascript 中性别的动态对象值

javascript - 取消选中所有按钮不适用于 PHP

javascript - 如何在javascript中将对象属性字符串转换为整数

arrays - 在数组中搜索一个值 [swift]