JS:删除数组中的重复值,包括原始值

One*_*azy 2 javascript arrays

有谁知道如何删除包含原始值的数组中的重复项?我碰到不同的片段像这个这个和其他一些人,但没有特别被移除,同时原来的节点.小心分享一些小片段?TIA!

例:

[1, 1, 2, 3, 5, 5] -> [2, 3]
Run Code Online (Sandbox Code Playgroud)

Nin*_*olz 6

您可以使用检查索引和最后一个索引.

var arr = [1, 1, 2, 3, 5, 5],
   res = arr.filter((a, _, aa) => aa.indexOf(a) === aa.lastIndexOf(a));

console.log(res);
Run Code Online (Sandbox Code Playgroud)


Chr*_*sel 4

您可以尝试根据该数组中特定值的出现次数来过滤数组:

var arr = [1, 1, 2, 3, 5, 5]

var res = arr.filter((el, _, arr) => {
      return arr.filter(el2 => el2 === el).length === 1
})

console.log(res)
Run Code Online (Sandbox Code Playgroud)

  • 我建议接受 @nina-scholz 的解决方案,它更快、更优雅...... (2认同)