如何保留阵列重复项

DTR*_*000 1 javascript jquery

在Javascript中,我试图仅将重复项保留在数组中。

例如我的初始数组是

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

结果应该是

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

我试过使用.indexOf()和$ .inArray(),但无法弄清楚。我知道如何删除重复项,但是要保留它们是非常困难的。

Nin*_*olz 6

您可以通过检查项目是否为第一个项目以及最后一个索引是否不是实际索引来进行过滤。

var array = [1, 1, 2, 3, 3, 3, 3, 4, 5, 5],
    result = array.filter((a, i, aa) => aa.indexOf(a) === i && aa.lastIndexOf(a) !== i);

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