请老师帮忙检查

来源:3-11 项目作业

早点休息吧明天还要写代码

2022-05-31 17:23:44

//去重
        const arr = [1, 1, '1', 17, true, true, false, false, 'true', 'a', {}, {}]; 
        //1,使用set
        const remove_re1 = [...new Set(arr)];
        console.log(remove_re1);

        //2,使用map
        const m = new Map();
        //将数组转为map,数组的项变成键名,下标变成值
        //此时重复的会被新来的覆盖
        arr.forEach((value,key)=>{
            m.set(value,key);
        });
        //通过foreach遍历map来将键名推入新数组中
        const remove_re2=[];
        m.forEach((value,key)=>{
            remove_re2.push(key);
        })
        console.log(remove_re2);

        //3,使用for循环
        const remove_re3=[];
        for(let i=0;i<arr.length;i++){
            if(remove_re3.indexOf(arr[i])==-1){
                remove_re3.push(arr[i]);
            }
        }
        console.log(remove_re3);

        //reduce方法
        const remove_re4= arr.reduce(
            function(prev,next){
                prev.indexOf(next)==-1 && prev.push(next);
                return prev;
        },[])
        console.log(remove_re4);


写回答

1回答

好帮手慕星星

2022-05-31

同学你好,四种方法没问题,很棒!祝学习愉快~

0

前端工程师

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

20327 学习 · 17877 问题

查看课程