var arr = [1, 1, 2, 3, 4, 4, 2, 1, 3, 5]
//方法1 遍历
function norepeat(arr){
for(var i=0;i<arr.length;i++){
for(var j=i+1;j<arr.length;j++){
if(arr[i]==arr[j]){
arr.splice(j,1);
j--;
}
}
}
return arr
}
//方法2:把数组看成一个对象去重
function norepeat(arr) {
var obj = {};//声明一个空对象
var newArr = [];//声明一个空数组,用来存放数组中去重后的值
for (var i = 0; i < arr.length; i++) {//遍历数组
if (obj[arr[i]] == undefined) {//如果对象中没有这个元素
newArr.push(arr[i]);//空数组中加入这个元素
obj[arr[i]] = 1;//对象这个元素赋值
}
}
return newArr;//返回新数组的值
}
//方法3:使用sort()将数字按照字符串排序顺序,按照ASCII值排序
arr.sort();
for (var i = 0; i < arr.length - 1; i++) {
if (arr[i] == arr[i + 1]) {
arr.splice(i + 1, 1);
i--;
}
}
//方法4:indexOf属性来判断
var newArr = [];//声明一个空数组
function norepeat(arr) {
for (var i = 0; i < arr.length; i++) {//遍历数组
if (newArr.indexOf(arr[i]) == -1) {//用indexOf判断,没有就加入arr[i]的值
newArr.push(arr[i]);
}
}
return newArr;
}