关于查重

来源:3-8 Map 的注意事项

ocean学前端

2022-12-14 10:43:56

老师,在视频里讲map查重也是一句带过,那在map里,怎么知道一个map里是否有没有要添加入的key呢?

写回答

1回答

好帮手慕久久

2022-12-14

同学你好,前面的课程中讲过,map实例拥有has方法,可以用来判断map中是否有某个键,比如:

https://img.mukewang.com/climg/63993c57094fb24f04930108.jpg

可以利用该方法实现去重,比如:

        //重复的数组
        let arr = [1, 2, 3, 1, 2, 3, "a", "a", "b"];
        // 删除重复元素
        function deleteRepeat (arr) {
            // 利用map
            let map = new Map();

            // 去重后的数组
            let result = new Array();


            for (let i = 0; i < arr.length; i++) {
                if (!map.has(arr[i])) {  //如果map中没有这个key,则新增
                    map.set(arr[i], true)
                }
            }
            // 把过滤后的map中的key拿出来
            for (let [key, value] of map.entries()) {
                result.push(key);
            }
            return result;
        }
        console.log(deleteRepeat(arr));

方式并不唯一,参考即可。

祝学习愉快!

0

前端工程师

前端入门如同写字,如果你不知道从哪开始,那就选择前端(含Vue3.x,React17,TS)

20327 学习 · 17877 问题

查看课程