老师 帮忙看下有无需要改进的地方

老师 帮忙看下有无需要改进的地方

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Document</title>

</head>

<body>

    <script>

        let str = "study hard and make and progress every day study"

        // 在此补充代码

        let arr=[...str];//把字符串转成数组

        const s=new Set(arr);//将数组作为参数传入Set中,去重

        console.log([...s]);//将结果转成数组

        document.write(...s);//最后结果,输出到页面

    </script>

</body>

</html>


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,使用同学提供的代码测试结果如下:

http://img1.sycdn.imooc.com//climg/61089e890919d40001960041.jpg

是不符合要求的,同学是把每一个字母都展开去重了,建议:把单词作为一个整体去重,修改如下:

http://img1.sycdn.imooc.com//climg/6108a0b309512a9b08140287.jpg

祝学习愉快~

  • 老师这里set实例为什么可以用const定义它是一个常量吗?s.add(1);这样添加数据不会改变它的值吗?同样的还有数组用const定义,用push方法推入项也可以吗?还是会报错?还是数组最好用let定义?不太懂

    搜索

    复制

    2022-04-03 12:20:08
  • 同学你好,这里的const s 去接收一个实例,s.add是像s中添加值,这里是不违背const的不能改变常量的值知识点的,因为如果说是引用数据类型,是可以改变的啊。如下:

    https://img1.sycdn.imooc.com//climg/624a7f2f095085f106860336.jpg

    结果如下:

    https://img1.sycdn.imooc.com//climg/624a7f3f09a7b98d09570300.jpg

    这种是不可以的。但是我们可以通过改变对象中的值做到改变常量。如下:

    https://img1.sycdn.imooc.com//climg/624a7f950927060806750323.jpg

    结果如下:

    https://img1.sycdn.imooc.com//climg/624a7fa409b4d7be07280279.jpg

    那么同学对数组也有疑问,请看下图:

    https://img1.sycdn.imooc.com//climg/624a7ddb095a0a3107080246.jpg

    结果为:

    https://img1.sycdn.imooc.com//climg/624a7fe40947a5d805250296.jpg

    通过上面的解释,我们可以看出来,如果说定义的常量直接进行更改是不行的,如果定义的常量是引用数据类型,那么我们更改引用数据类型中的东西是可以做到的。

    另外定义数组的时候没有说用let或者是const哪种更好的方式,这里同学可以理解为,如果我使用的是const,那么我们后面尽量就不要再去想着更改它什么,而是就把它当做是常量。那么使用let去定义的话,我们就可以把它当做是一个变量,是可以改变它的就ok了,因为在工作中如果说多人协作,同事们看到了const常量,一般都不会去想要更改它,这就是约定俗成的规矩。

    上面的例子,同学自己敲,祝学习愉快!

    2022-04-04 13:23:28
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师