题解 | #数组去重#

数组去重

http://www.nowcoder.com/practice/0b5ae9c4a8c546f79e2547c0179bfdc2

利用set进行判断去重

Array.prototype.uniq = function () {
    let arr = this;
    let res = [];//结果要返回的没有重复元素的数组
    let set = new Set();//利用set记录数组中的元素,是否出现过
    for (let i = 0; i < arr.length; i++) {//遍历数组中的所有元素进行处理
        //如果set中没有该元素,说明该元素没有出现过,则将该元素放进结果数组并添加进set中记录
        if (!set.has(arr[i])) {
            res.push(arr[i]);
            set.add(arr[i]);
        }
        //如果set中有该元素,说明该元素是重复元素,之前已经出现过,不需往结果数组中放
    }
    return res;
}
全部评论
这个不行啊,报错uniq没有定义
点赞 回复 分享
发布于 2021-08-11 09:57
为啥在这样写不对啊var mySet = new Set(Array); var res =[...mySet]; return res;
点赞 回复 分享
发布于 2021-08-15 21:52
set里面直接就可以去重了,没必要这么麻烦的
点赞 回复 分享
发布于 2021-10-10 17:04

相关推荐

牛客717484937号:双飞硕没实习挺要命的
点赞 评论 收藏
分享
11 1 评论
分享
牛客网
牛客企业服务