javascript - 获取数组中的差异

标签 javascript jquery arrays compare

我在 HTML 中使用两个 div,其中有多个跨度。我向用户提供一个删除按钮,他可以使用该按钮删除一些跨度(他必须之前选择)。现在想要确定哪些跨度元素已被删除。

如何比较两个保存选择器结果的数组?

是否有可能在 C# 中使用 IEqualityComparer 之类的东西?

最佳答案

下面是一个 jquery 解决方案

var firstArray = $("span.odd");
var secondArray = $("span.even");

var compareResult = $(firstArray).not(secondArray).length === 0 && $(secondArray).not(firstArray).length === 0;

console.log("Collections are equal:",compareResult);

var collectionDiff = secondArray.filter(function(){
  return secondArray.filter(this).length
});

console.log("diff",collectionDiff.toArray());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <span class="odd">span 1</span>
    <span class="even">span 2</span>
    <span class="odd">span 3</span>
    <span class="even">span 4</span>
    <span class="odd">span 5</span>
    <span class="even">span 6</span>
    <span class="odd">span 7</span>
    <span class="even">span 8</span>
    <span class="odd">span 9</span>
    <span class="even">span 10</span>

关于javascript - 获取数组中的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38698223/

相关文章:

javascript - Bootstrap 3 为单个模态设置选项

javascript - React Action Callback 做转换最佳实践

javascript - 如何将菜单从悬停更改为单击

jquery 将元素替换为具有自己文本的新元素

javascript - 为什么在使用 Miso 时 _ 未定义?

javascript - 如何在不知道字段名称的情况下反序列化 json 字符串?

javascript - HTML - 从 mysql 生成的选择框内的选项更改文本区域中的颜色

javascript - 如何在字典中对 Javascript 数组进行排序

c - 在 main 外部和内部定义各种类型的数组

java - 在Java中播放整数/双数组