简单的写了三种方法:
<script>//数组去重
var arr = [1,1,5,5];
//利用对象属性名不能重复去重
function unique1() {
var obj = {};
var newarr = [];
for (var i = 0; i < arr.length; i++) {
if (!obj[arr[i]]) {
obj[arr[i]] = 'aa';
newarr.push(arr[i]);
}
}
return newarr;
}
//indexOf方法:查找当前数组中是否有这元素并返回最近索引值,没有返回-1
function unique2(arr) {
var newarr = [];
for (var i = 0; i < arr.length; i++) {
if (newarr.indexOf(arr[i]) == -1) {
newarr.push(arr[i]);
}
}
return newarr;
}
//先排序,前后比较去重
function unique3(arr) {
var newarr = [];
var arr1 = arr.sort()
for (var i = 0; i < arr1.length; i++) {
if (arr1[i] != arr1[i + 1]) {
newarr.push(arr1[i]);
}
}
return newarr;
}
</script>