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

Pos*_*hin 0 javascript arrays jquery

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

A
B
B
C
B
Run Code Online (Sandbox Code Playgroud)

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

A
C
Run Code Online (Sandbox Code Playgroud)

我已经找到了很多关于如何删除其他重复元素的例子,但仍然保留了"原始"元素,其中我找不到更接近它的东西,我真的迷失了.

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

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

非常感谢你!

Nen*_*car 9

您可以使用filter()并通过检查if 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)
Run Code Online (Sandbox Code Playgroud)