您当前的位置: 首页 > 

【03】

暂无认证

  • 1浏览

    0关注

    196博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

js常用的数组去重

【03】 发布时间:2020-07-17 09:36:10 ,浏览量:1

工具函数
/**
 *数组去重
 *arr需要去重的数组
 *key通过某个key去重 没有则为每一项为key
 */
function duplicateRemoval(arr,key) {
    var obj = {}
    var newArr = []
    for (var i = 0; i < arr.length; i++) {
        var itemKey = key ? arr[i][key] : arr[i]
        if (!obj['s' + itemKey]){
            newArr.push(arr[i])
            obj['s' + itemKey] = true
        }
    }
    return newArr
}
  • 纯数组去重
var arr = [1,3,4,2,3,4,3,4]
    var newArr2 = duplicateRemoval(arr)
    console.log(newArr2)

结果

  • 对象数组去重
var objArr = [
    {
        id: 16,
        speak: 'hello16'
    },
    {
        id: 21,
        speak: 'hello21'
    },{
        id: 16,
        speak: 'hello16'
    },
    {
        id: 18,
        speak: 'hello18'
    },
    {
        id: 18,
        speak: 'hello18'
    },
    {
        id: 21,
        speak: 'hello21'
    },
    {
        id: 18,
        speak: 'hello18'
    }
]
    var newArr = duplicateRemoval(objArr, 'id')
    console.log(newArr)

结果

还有很多数组去重的方法,以上是我自己常用的方法,个人觉得这种方法效率比indexOf判断,循环嵌套啥的性能高

关注
打赏
1657344724
查看更多评论
立即登录/注册

微信扫码登录

0.0361s