我有一个包含以下元素的数组:
A
B
B
C
B
如果某个项目出现多次,我必须删除所有出现的项目。因此,它会是这样的:
A
C
我已经找到了很多关于如何删除其他重复元素的例子,但仍留下了原文"其中一个,我无法找到更接近它的东西,我真的迷失了。
我考虑过保存一个对象: 1.项目的价值; 2.它出现多少次; 3.所有外表的位置。
如果出现的时间超过1,我将删除阵列中的所有以下位置。这是个好主意吗?最好的方法是什么?
非常感谢!
答案 0 :(得分:9)
您可以使用filter()
执行此操作,并通过检查indexOf
是否等于lastIndexOf
var ar = ['A', 'B', 'B', 'C', 'B'];
var result = ar.filter(function(e) {
return ar.indexOf(e) == ar.lastIndexOf(e);
})
console.log(result)