数组去重函数实现

71 阅读1分钟
数组去重一
function  unique(arr,callback){
    // 声明一个空数组
    const result = []
    // 遍历原始数据
    arr.forEach(item =>{
        // 检测 result 数组中是否包含这个元素
        if(result.indexOf(item) === -1){
            // 若没有该元素 则插入到result中
            result.push(item)
        }
    })
    // 返回
    return result
}
let arr = [1,2,3,4,2,3,4500]
const result = unique(arr,(item,index)=>item > 500)
console.log(unique(arr)) 
数组去重二
function  unique2(arr,callback){
    // 声明一个空数组
    const result = []
    // 声明一个空对象
    const obj = {}
    // 遍历数组
    arr.forEach(item =>{
        if(obj[item] === undefined){
            // 此时的值是undefined
            obj[item] = true
            // 此时的值是true
            // 若没有该元素 则插入到result中
            result.push(item)
        }
    })
    // 返回
    return result
}
let arr = [1, 2, 3, 4, 2, 3, 4500]
const result = unique2(arr)
console.log(result)
数组去重三
function unique3(arr){
    return [...new Set(arr)]
}
let arr = [1, 2, 3, 4, 2, 3, 4500]
const result = unique3(arr)
console.log(result)