您的位置:首页 > Web前端 > JavaScript

js数组去重

2015-08-03 09:17 567 查看
对一个数组删除其重复元素,保留删除的元素或者保留删除后的元素皆可。

若借用新的数组变量,则:

Array.prototype.rmRepeat = function() {
// body...
var newArr = [],
rptArr = [],
len = this.length;

for (var i = 0; i < len; i++) {
if (newArr.indexOf(this[i]) == -1) {
newArr.push(this[i]);
}else{
rptArr.push(this[i]);
}
};

return newArr;
};

[3,2,3,45,44,3,2,1].rmRepeat()


若不能借用新的数组变量,则会复杂一些

Array.prototype.rmrepeat = function() {

var len = arr.length;
var newarr = [];
for (var i = 0; i < len; i++) {
var tmp = arr[i];
var j = i+1;

while(j < len){
if (arr[j] == tmp) {
newarr.push(arr.splice(j,1))
j = j -1;
};
j = j + 1;
}
};

return newarr;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: