请问一下老师,关于数组用Set去重后转回数组的问题

来源:2-8 Set 的注意事项

慕仙7313728

2022-07-15 21:38:01

//①需要数组或者字符串去重的时候
        const arr=[1,2,1,2,3,3,4,4,5];
        const s=new Set(arr);
        console.log(s);//Set(5) {1, 2, 3, 4, 5}
        let arr2=[];//遍历
        s.forEach(function(value,key,set){
            arr2.push(value)
        })
        console.log(arr2);//[1, 2, 3, 4, 5]
        const newArr=[...s]
        console.log(newArr);//[1, 2, 3, 4, 5]

请问老师,set能使用展开,是不是因为set类似一个对象??

用forEach遍历后push后面是用value还是key,打印出来结果相同。所以还是两者都可以?因为set中value和key相等。

如果不是set,那遍历后需要得到相关的值是用value吗??

写回答

1回答

好帮手慕久久

2022-07-16

同学你好,解答如下:

1、可以把set看成对象形式,所以能够展示。

2、是的。forEach遍历set时,key和value是一样的,使用哪个都行。

3、其他数据类型,遍历时如果想取到值,可以通过打印看一下value和key哪个是。不同的遍历方式,value和key的顺序可能不同,不用特殊记忆。

祝学习愉快!

0

前端工程师

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

20327 学习 · 17877 问题

查看课程