(1) es6终极大法
var arr = [1,2,3,3,4,5,7,8,9,1]
var newSet = new Set(arr)
console.log([...newSet])
这种方法,像3与'3'是不同的值哦。。。
(2) 双层循环获取非重复最右值数组
function uniq(arr) {
var t = [];
var len = arr.length;
for(var i = 0; i < len; i++) {
for(var j = i+1; j < len; j++) {
if (arr[i] === arr[j]) {
i++;
j = i;
}
}
t.push(arr[i])
}
return t;
}
这种方法,同上,3与'3'都会输出,数组呈现出来的是取靠右的数据
(3) indexOf,字符串检索
function uniq(arr) {
var t = [];
for(var i = 0; i < arr.length; i++) {
if (t.indexOf(arr[i]) === -1) {
t.push(arr[i])
}
}
return t;
}
这种方法,最终呈现数据是靠左
(4) 数组下标
function uniq(arr) {
var t = [];
for(var i = 0; i < arr.length; i++) {
if (arr.indexOf(arr[i]) === i) {
t.push(arr[i]);
}
}
return t;
}