【发布时间】:2017-06-02 14:20:39
【问题描述】:
我有 3 个数组:
array1 = [ 'A', 'B', 'A', 'B']
array2 = [ 5, 5, 7, 5]
array3 = [true,true,true,true]
我想知道是否有任何简单的方法(可能使用 lodash)来消除重复并以此结束:
array1 = [ 'A', 'B', 'A']
array2 = [ 5, 5, 7]
array3 = [true,true,true]
我知道我可以做一个函数并比较之前的值,但是有没有更聪明的方法呢?
更新 请注意,我不需要消除每个数组的重复项。 我正在寻找的是一种“垂直”消除重复项的方法
更新 2
请注意,每个“列”都是一个记录。
record1 = ['A',5,true]
record2 = ['B',5,true]
record3 = ['A',7,true]
record1 = ['B',5,true]
【问题讨论】:
-
你的第二个例子仍然有重复... --- 最简单的方法是使用 ES2015 中的
[...new Set(array1)]。 -
您只是从输入数组中删除最后一个元素..
-
实际上,使用 Lodash 非常简单。你可以使用
_.difference(array, [values])。参考here. -
如果我理解正确的话,每个“列”都是一个“记录”,您要消除重复记录吗?
-
您是在寻找就地解决方案(从给定数组中删除重复项),还是在寻找生成新过滤数组的不可变解决方案?
标签: javascript