是否有一种方法可以从JavaScript数组中删除几个相同/重复的项目,如下所示:
var array = [55, 65, 55, 65, 55, 65, 55, 65, 55, 65];
例如,对于此数组,我尝试删除55
和65
的所有副本,以便我只留下[55, 65]
。
我已尝试使用splice()
但只删除了位置编号,我需要删除所有相同值的项目。
答案 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;