我有一个包含以下元素的数组:
A
B
B
C
B
如果某个项目出现多次,我必须删除所有出现的项目。因此,它会是这样的:
A
C
我发现了很多关于如何删除其他重复元素但仍然保留“原始”元素的示例,因此我找不到更接近它的东西,我真的迷失了。
我考虑过在对象中保存以下内容: 1. 元素的值(value); 2.出现了多少次; 3.所有出场的位置。
如果出现的次数大于 1,我将删除数组中以下所有位置。这是不是一个好主意?最好的方法是什么?
非常感谢!
最佳答案
您可以使用 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)
关于Javascript:查找并删除*所有*重复的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40980806/