js 数组去重

// 第一种方法
function uniquearr(arr) {
    if(!Array.isArray(arr)) return false
    return Array.from(new Set(arr))
}
// 使用
let narr = ['张三', '李四', '张 三', '李四', '王麻子']
uniquearr(narr)
// 结果
['张三', '李四', '张 三', '王麻子']
// 第二种方法
function unquearr(arr) {
    if(!Array.isArray(arr)) return false
    return arr.filter((item, index, self)=>{
        return index == self.indexOf(item)
    })
}
// 使用
let a = ['张三', '李四', '张 三', '王麻子', '张三']
// 结果
['张三', '李四', '张 三', '王麻子']
// 第三种方法
function unquearr(arr) {
    if(!Array.isArray(arr)) return false
    let narr = [];
    arr.forEach(item=>{
     // 这里也可以写成 if(narr.indexOf(item) == -1) narr.push(item)
        if(!narr.includes(item)) narr.push(item)
    })
    return narr
}
// 使用
let a = ['张三', '李四', '张 三', '王麻子', '张三'];
// 结果
['张三', '李四', '张 三', '王麻子']
// 第四种方法
function unquearr(arr) {
    if(!Array.isArray(arr)) return false
    let narr = []
    arr.forEach(item=> {
        if (!narr[item]) narr[item] = true;
    });
    return Object.keys(narr)
}
// 使用
let a = ['张三', '李四', '张 三', '王麻子', '张三'];
unquearr(a)
// 结果
['张三', '李四', '张 三', '王麻子']

具体使用那种方法,各位看官自行选择

posted @ 2021-09-13 14:12  安雁-zzq  阅读(18)  评论(0编辑  收藏  举报