第一种:常见
var cc1 = ['a', 2, 'c', 2, 'a', 'c'];
var newArr = [];
function unique(arr) {
for (var i = 0; i < arr.length; i++) {
if (newArr.indexOf(arr[i]) === -1) {
newArr.push(arr[i]);
}
}
return newArr;
}
var re = unique(cc1);
console.log(re);
第二种:前后覆盖都可以
var cc1 = ['a', 2, 'c', 2, 'a', 'c'];
function unique(arr) {
for (var i = 0; i < arr.length - 1; i++) {
for (var j = i + 1; j < arr.length; j++) {
if (arr[i] === arr[j]) {
// arr.pop(cc[i]); // 后面覆盖前面
arr.pop(arr[j]); //前面覆盖后面都可以
i--; // 如果pop删除了一个元素,数组长度也会减一。假如i=3,2被删除后,'a'的下标还是3
j--;
}
}
}
return arr;
}
var re = unique(cc1);
console.log(re); // (3) ["a", 2, "c"]