刪除重複元素

從 ES5.1 開始,你可以使用本機方法 Array.prototype.filter 迴圈遍歷陣列,只留下通過給定回撥函式的條目。

在以下示例中,我們的回撥檢查陣列中是否出現給定值。如果是,則它是重複的,不會被複制到結果陣列中。

Version >= 5.1

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

如果你的環境支援 ES6,你還可以使用 Set 物件。此物件允許你儲存任何型別的唯一值,無論是原始值還是物件引用:

Version >= 6

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

另見 SO 上的以下 anwsers: