【发布时间】:2022-01-21 03:16:53
【问题描述】:
我需要检查一个数组是否包含另一个数组的所有元素,包括相同的重复项。第二个数组可以有额外的元素。我正在使用每个...包含,但没有发现第二个数组没有正确的重复项。
例如:
const arr1 = [1, 2, 2, 3, 5, 5, 6, 6]
const arr2 = [1, 2, 3, 5, 6, 7]
if(arr1.every(elem => arr2.includes(elem))){
return true // should return false because arr2 does not have the same duplicates
}
谢谢!
编辑:arr1 是我正在循环的许多数组之一,这些数组来自图遍历算法,因此我想避免将它们重组为对象以创建字典数据结构。
【问题讨论】:
-
重复的顺序很重要?
-
一种方法是对数组进行排序,遍历它们并成对比较元素。如果顺序也很重要,请跳过第一步。
-
@SaeedShamloo 重复的顺序无关紧要
-
@ThomasSablik 我觉得我试过这个但遇到了问题,因为 arr2 可以有额外的元素。我将再次深入研究那个潜在的解决方案!
标签: javascript arrays