第一种 new Set
var fun = function (arr) {
return […new Set(arr)];
};
第二种 new Map
var fun = function (arr) {
let map = new Map();
let res = [];
for (let i = 0; i < arr.length; i++) {
if (!map.has(arr[i])) {
map.set(arr[i], i);
res.push(arr[i]);
}
}
return arr;
};
第三种 两层for循环+splice
var fun = function (arr) {
let len = arr.length;
let res = [];
for (let i = 0; i < len; i++) {
for (let j = i + 1; j < len; j++) {
if (arr[i] === arr[j]) {
arr.splice(j, 1);
len--;
j--;
i--;
}
}
}
return arr;
};
第四种 indexOf
var fun = function (arr) {
let res = [];
for (let i = 0; i < arr.length; i++) {
if(res.indexOf(arr[i])==-1) {
res.push(arr[i])
}
}
return res
};
第五种 includes
var fun = function (arr) {
let res = [];
for (let i = 0; i < arr.length; i++) {
if (!res.includes(arr[i])) {
res.push(arr[i])
}
}
return res
};
第六种 filter
var fun = function (arr) {
return arr.filter((item, index) => {
return arr.indexOf(item) == index
})
};
如需转载,请注明文章出处和来源网址:http://www.divcss5.com/html/h64202.shtml