Javascript:查找并删除*所有*重复的项目

时间:2016-12-05 18:22:12

标签: javascript jquery arrays

我有一个包含以下元素的数组:

A
B
B
C
B

如果某个项目出现多次,我必须删除所有出现的项目。因此,它会是这样的:

A
C

我已经找到了很多关于如何删除其他重复元素的例子,但仍留下了原文"其中一个,我无法找到更接近它的东西,我真的迷失了。

我考虑过保存一个对象: 1.项目的价值; 2.它出现多少次; 3.所有外表的位置。

如果出现的时间超过1,我将删除阵列中的所有以下位置。这是个好主意吗?最好的方法是什么?

非常感谢!

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)