我在 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/