如何从数组中删除几个相同的项目

时间:2016-05-10 17:43:41

标签: javascript arrays

是否有一种方法可以从JavaScript数组中删除几个相同/重复的项目,如下所示:

var array = [55, 65, 55, 65, 55, 65, 55, 65, 55, 65];

例如,对于此数组,我尝试删除5565的所有副本,以便我只留下[55, 65]

我已尝试使用splice()但只删除了位置编号,我需要删除所有相同值的项目。

1 个答案:

答案 0 :(得分:2)

您可以过滤数组并使用哈希表进行查找。



var array = [55, 65, 55, 65, 55, 65, 55, 65, 55, 65, true, 'true'];

array = array.filter(function (a) {
    var key = typeof a + '|' + a;
    if (!this[key]) {
        this[key] = true;
        return true;
    }
}, Object.create(null));

document.write('<pre>' + JSON.stringify(array, 0, 4) + '</pre>');
&#13;
&#13;
&#13;