可能重复:
Remove duplicates from an array of objects in javascript
我正在尝试删除数组中的任何重复项。例如,如果我有112233
,我只想返回123
。
我的代码:
function array_unique(array) {
var array_length = array.length;
var new_array = [];
for (var i = 0; i < array_length; i++) {
if (array[i] == array[i + 1]) {
}
new_array.push(array[i]);
}
return new_array;
}
我不知道该怎么输入if if我可以删除双打
答案 0 :(得分:2)
像这样使用原型进行数组
Array.prototype.removeDups = function(){
var local_array = this;
return local_array.filter(function(elem, pos) {
return local_array.indexOf(elem) == pos;
});
}
答案 1 :(得分:2)
在这里,您可以删除复杂度为O(n)的重复项。
var elems = {},
arr = [1,2,1,1,2,3,3,3,3,4];
arr = arr.filter(function (e) {
if (elems[e] === undefined) {
elems[e] = true;
return true;
}
return false;
});
我使用elems
哈希(对象)来记住所有已存在的元素。如果当前元素是elems
哈希中的键,我只是过滤它。
答案 2 :(得分:1)
arrayWithNoDuplicates = new_array.filter(function(element, position) {
return myArray.indexOf(element) == position;
})
答案 3 :(得分:0)
fxnUniqOptns = function (array) {
var oOptns = [];
$.each(array, function (i, val) {
if ($.inArray(val, oOptns) == -1)
oOptns.push(val);
});
oOptns = oOptns.sort();
return oOptns;
}
答案 4 :(得分:0)
在if条件之后给出array.splice(i,1),这将删除当前元素,以便删除重复项。