重复字符串.repeat(str, num)函数

重复字符串.repeat(str, num)函数

重复字符串.repeat(str, num)函数中,为什么return new Array(num + 1)而不是new Array(num)呢?

正在回答 回答被采纳积分+1

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

2回答
好帮手慕糖 2018-10-17 10:45:14

@“亭亭YULI”同学你好,new Array(num),num若只是一个数字,就是表示数组的长度哦。

return new Array(num + 1).join(str),这里是数组的长度为num+1;. join()方法用于把数组中的所有元素放入一个字符串 , 元素是通过指定的分隔符进行分隔的。看str在调用时传入的是什么 ,所以会使用什么对元素进行分割 。

另,建议:同学还有疑问的话,可以新建问题进行提问,便于后期的复习哦。

祝学习愉快!

RogerLeung 2018-09-08 13:26:32

new Array(num) 用于创建一个length为num的空数组,

new Array(num+1)则length为num+1。

我们知道,[1,2,3].join('a') 是用a将数组的每一项隔开连成一个字符串 // "1a2a3a"

[1,2,3].join('')是用空的内容将数组每一项隔开连成字符串 // "123"

所以,new Array(num+1)就产生了num+1个空,此时有num个间隔,用new Array(num+1).join(str)就相当于把传进去的str重复地存放在这num个间隔,再与原本空的数组连成字符串就得到重复num次的str字符串。

  • 第三行打错了,是"1a2a3"
    2018-09-08 13:27:13
  • 为什么这里的new Array(num)的num不是数组的内容,而是数组的长度? 如果表示长度,是说明return new Array(num + 1).join(str)这句是在重复length次吗
    2018-10-16 21:29:28
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
热门框架Vue开发WebApp 18版
  • 参与学习           人
  • 提交作业       209    份
  • 解答问题       3299    个

本路径是通过ES6基础知识、运用Zepto、Swiper、fullPag等移动端常用工具包、以及当下流行框架Vue,结合多个实战案例,还原真实开发场景,最终实现手机端购物商城网页开发。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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