比较两个数组以检测删除和添加元素
Posted
技术标签:
【中文标题】比较两个数组以检测删除和添加元素【英文标题】:Compare two arrays for detect remove and add element [closed] 【发布时间】:2016-03-23 22:22:25 【问题描述】:有两个数组,
One -> ["A","B","C","D"]
Two -> ["A","E","H","D"]
我需要检查数组详细信息。我提到数组一是现有数据(更新之前),数组二是更新数据(更新数组一之后)。我需要弄清楚哪些数据进入该数组(数组二)以及哪些数据从该数组(数组一)中删除。
【问题讨论】:
请您在这里纠正一些语法,因为问题不太清楚。 我需要检查数组详细信息。我提到数组 1 是现有数据,数组 2 是更新数据。我需要弄清楚哪些数据进入该数组以及哪些数据从该数组中删除。这是基本的想法。你明白了吗..? 【参考方案1】:jQuery(function()
var array1 = ["A", "B", "C", "D"];
var array2 = ["A","H","J","D"];
var foo1 = [];
var foo2 = [];
var i = 0;
jQuery.grep(array2, function(el)
if (jQuery.inArray(el, array1) == -1) foo1.push(el);
i++;
);
jQuery.grep(array1, function(e2)
if (jQuery.inArray(e2, array2) == -1) foo2.push(e2);
i++;
);
alert(" Removed Data is " + foo2);
alert(" New Data is " + foo1);
);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
【讨论】:
这完美地回答了 OPs 问题。+1【参考方案2】:查看http://underscorejs.org/#arrays 函数,您需要使用_.intersection 和_.difference 方法。如果您不想要新的依赖项,您可以很容易地自己编写函数代码
_.intersection(One, Two) -> 没有改变数据
_.difference(Two, One) -> 新数据
_.difference(One, Two) -> 删除数据
【讨论】:
它正在工作。感谢您的帮助以上是关于比较两个数组以检测删除和添加元素的主要内容,如果未能解决你的问题,请参考以下文章