1、indexOf
if (!Array.prototype.unique) {
Array.prototype.unique = function () {
let arr = [];
for (let i = 0; i < this.length; i++) {
if (arr.indexOf(this[i]) === -1) {
arr.push(this[i])
}
}
// console.log(arr);
return arr;
}
}
2、哈希
if (!Array.prototype.unique) {
Array.prototype.unique = function () {
let arr = [];
let obj = {};
for (let i = 0; i < this.length; i++) {
if (!obj[typeof this[i] + this[i]]) {
arr.push(this[i]);
obj[typeof this[i] + this[i]] = true;
}
}
return arr;
}
}
3、includes
if (!Array.prototype.unique) {
Array.prototype.unique = function () {
for (let i = 0; i < this.length; i++) {
if (!arr.includes(this[i])) {
arr.push(this[i]);
}
}
return arr;
}
}
4、set
if (!Array.prototype.unique) {
Array.prototype.unique = function () {
let set=new Set(this);
return [...set];
}
}
5、map
if (!Array.prototype.unique) {
Array.prototype.unique = function () {
let map=new Map();
this.filter(item=>!map.has(item)&&map.set(item,1));
}
}