SOURCE

const arr = [1, 3,4, 4, 3, 9, 15, 6];

//1 
console.log([...new Set(arr)]);

//2
for(let i = 0; i < arr.length; i++){
    for(let j = i+1; j < arr.length; j++){
        if(arr[j] == arr[i]){
            arr.splice(j, 1);
            j--;
        }
    }
}
console.log(arr);


const arr2 = [3, 4, 2, 1, 16, 5, 7, 6, 26, 1];

//3
let res = []
for(let i = 0; i < arr2.length; i++){
    if(res.indexOf(arr2[i]) == -1){
        res.push(arr2[i])
    }
}
console.log(res);

//4
let res1 = [];
for(let i = 0; i < arr2.length; i++){
    if(!res1.includes(arr2[i])){
        res1.push(arr2[i])
    }
}
console.log(res1);

//5
function unique(arr) {
    return arr.filter((item, index, arr) => {
        return arr.indexOf(item,0) === index
    })
}
console.log('1',unique(arr2))

//6
let map = new Map();
let res2 = [];
for(let i = 0; i < arr2.length; i++){
    if(map.has(arr2[i])){
        map.set(arr2[i], true);
    }else{
        map.set(arr2[i], false);
        res2.push(arr2[i]);
    }
}
console.log(res2)

//7
arr2.reduce((t, v) => t.includes(v) ? t : [...t, v], []);
console 命令行工具 X clear

                    
>
console