JavaScript 删除重复元素

示例

从ES5.1开始,您可以使用本机方法Array.prototype.filter遍历数组,仅保留通过给定回调函数的条目。

在以下示例中,我们的回调检查给定值是否出现在数组中。如果是这样,它将是重复项,并且不会被复制到结果数组中。

5.1
var uniqueArray = ['a', 1, 'a', 2, '1', 1].filter(function(value, index, self) { 
  return self.indexOf(value) === index;
}); // 返回['a',1,2,'1']

如果您的环境支持ES6,则还可以使用Set对象。该对象使您可以存储任何类型的唯一值,无论是原始值还是对象引用:

6
var uniqueArray = [... new Set(['a', 1, 'a', 2, '1', 1])];

另请参阅以下关于SO的提示:

  • 相关SO答案

  • 与ES6相关的答案