SOURCE

console 命令行工具 X clear

                    
>
console
const arr = [1, 1, '1', 17, true, true, false, false, 'true', 'a', {}, {}];
// => [1, '1', 17, true, false, 'true', 'a', {}, {}]

//01-set方法
const newArr = Array.from(new Set(arr))
console.log(newArr)

//02-两层for循环+splice
function unique(arr) {
 let len = arr.length
    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--
            }
        }
    }
    return arr
}
console.log(unique(arr))

//03-indexOf
function arr_indexOf(arr) {
    let newArr = []
    for(let i=0; i<arr.length; i++) {
        if(newArr.indexOf(arr[i]) === -1) {
            newArr.push(arr[i])
        }
    }
    return newArr
}
console.log(arr_indexOf(arr))

//04-include
function arr_include(arr) {
    let newArr = []
    for(let i=0; i<arr.length; i++) {
        if(!newArr.includes(arr[i])) {
            newArr.push(arr[i])
        }
    }
    return newArr
}
console.log(arr_include(arr))

//05-filter
function arr_filter(arr) {
    return arr.filter((item,index) => {
        return arr.indexOf(item) === index 
    })
}
console.log(arr_filter(arr))

//06-Map ??  
<div>
	<pre>
<code>
const arr = [1, 1, '1', 17, true, true, false, false, 'true', 'a', {}, {}];
// => [1, '1', 17, true, false, 'true', 'a', {}, {}]

//01-set方法
const newArr = Array.from(new Set(arr))
console.log(newArr)

//02-两层for循环+splice
function unique(arr) {
 let len = arr.length
    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--
            }
        }
    }
    return arr
}
console.log(unique(arr))

//03-indexOf
function arr_indexOf(arr) {
    let newArr = []
    for(let i=0; i < arr.length; i++) {
        if(newArr.indexOf(arr[i]) === -1) {
            newArr.push(arr[i])
        }
    }
    return newArr
}
console.log(arr_indexOf(arr))

//04-include
function arr_include(arr) {
    let newArr = []
    for(let i=0; i < arr.length; i++) {
        if(!newArr.includes(arr[i])) {
            newArr.push(arr[i])
        }
    }
    return newArr
}
console.log(arr_include(arr))

//05-filter
function arr_filter(arr) {
    return arr.filter((item,index) => {
        return arr.indexOf(item) === index 
    })
}
console.log(arr_filter(arr))

//06-Map 

</code>
</pre>
</div>