一、js与jquery数组去除重复元素
1、jquery数组去重:
复制代码 代码示例:
var arr = ["1","2","3","4","5","4","3"];
var uniqueArr = [];
$.each(arr, function(i, el){
if($.inArray(el, uniqueArr) === -1) uniqueArr.push(el);
});
2、纯js数组去除重复:
先排序,然后遍历此Array, 比较前后两个元素的值.
代码:
var arr = [9, 9, 111, 2, 3, 4, 4, 5, 7];
var sortedArr = arr.sort();
var results = [];
for (var i = 0; i < arr.length - 1; i++) {
if (sortedArr[i + 1] == sortedArr[i]) {
results.push(sortedArr[i]);
}
}
alert(results);
二、js数组去重比较
数组去重复:同类型的数组去重复。
1、for循环删除后面重复的。
var uniqueFor = function(arr) {
for (var i = 0; i < arr.length - 1; i++) {
var item = arr[i];
for(var j = i+1; j < arr.length; j++ ) {
item === arr[j] && (arr.splice(j, 1), j--);
}
};
return arr;
};
2、判断对象属性。
var uniqueObject = function(arr) {
var v, r = [], o = {};
for(var i = 0; (v = arr[i]) !== undefined; i++) {
!o[v] && (r.push(v), o[v] = true);
}
return r;
};
3、数组过滤重复项filter。
var uniqueFilter = function(arr) {
return arr.filter(function(elem, pos, self) {
// 如果没有重复项,返回true
return self.indexOf(elem, pos + 1) === -1;
});
};
三、js数组去重
js数组去重:把数组中重复的元素去掉。
复制代码 代码示例:
Array.prototype.delRepeat=function(){
var newArray=new Array();
var len=this.length;
for (var i=0;i for(var j=i+1;j if(this[i]===this[j]){
j=++i;
}
}
newArray.push(this[i]);
}
return newArray;
}