1. 思路:先定义一个“新数组”,并存放“源数组”(待去重的数组,以下简称源数组)的第一个元素,然后将源数组和新数组的元素一一对比,若不同则存放在新数组中。这也是大家都容易理解的
function unique1 (arr) {
// 结果数据
var res = [arr[0]];
for(var i = 1; i < arr.length; i++) {
var flag = false;
for(var j = 0; j < res.length;j++) {
if(arrt[i] == res[j]) {
flag = true;
break;
}
}
if(!flag) {
res.push(arr[i]);
}
}
return res;
}
2.相比1写的少点(直接撸的,有问题留言)
function unique2 (arr) {
var res = [];
for(var i = 0; i < arr.length; i++) {
if( res.indexOf(arr[i]) == -1 ) {
res.push(arr[i]);
}
}
return res;
}
3.不会ES6的前端不是好前端
function unique3 (arr) {
return [...new Set(arr)];
// return return Array.from(new Set(arr));
}
好生猛,一行代码的事