版本(一)
缺点: 此版本最为差劲,是我第一次初步写的时候想出来的,非常非常差劲,不忍直视
let array = [1, 5, 2, 3, 4, 2, 3, 1, 3, 4];
function unique(array){
let array2 = [];
for (let i = 0; i < array.length; i++) {
if (((array[i] !== array2[0]) && (array[i] !== array2[1]) && (array[i] !== array2[2]) &&
(array[i] !== array2[3]) && (array[i] !== array2[4]) && (array[i] !== array2[5]) &&
(array[i] !== array2[6]) && (array[i] !== array2[7]) && (array[i] !== array2[8])&&(array[i] !== array2[9])) === true){
array2.push(array[i])
}else {}
}
return console.log(array2)
}
unique(array)
版本(二)
缺点:耗时耗力得不偿失 此版本使用了冒泡排序,然后在两两对比,删除相同的数组,只有留下不同数组
let array = [1, 5, 2, 3, 4, 2, 3, 1, 3, 4];
function unique(array) {
let array1 = array.sort();
for (let i = 0; i < array1.length - 1; i++) {
for (let j = 0; j < array1.length - 1 - i; j++) {
if (array1[j] === array1[j + 1]) {
array1.splice(j + 1, 1);
j = j - 1;
} else {
}
}
}
return console.log(array1);
}
unique(array);
版本(三)
使用了set,借助他的特效实现去重
let array = [1,5,2,3,4,2,3,1,3,4]
function unique(array) {
let set = new Set();
for (let i = 0; i < array.length; i++) {
set.add(array[i]);
}
return console.log(set)
}
unique(array)
版本(四)
使用了map,缺点是对象不可以去重
let array = [1,5,2,3,4,2,3,1,3,4]
function unique(array) {
let map = new Map();
let a = new Array();
for (let i = 0; i < array.length; i++) {
if ((map.has(array[i])) === false) {
map.set(array[i], true);
a.push(array[i])
} else {
}
}
return console.log(a)
}
unique(array)