Array(num+1)的疑问

来源:2-5 字符串部分新的方法

慕UI3331485

2019-05-22 10:27:29

 老师,请问假如要输出sss,为什么是Array(num+1)才行而不是num,理论上num的含义是”设置或返回数组中元素的数目”,不太理解
 function repeat(str, num) {
        return new Array(num+1).join(str);
    }
    console.log(repeat('s', 3));


写回答

1回答

好帮手慕星星

2019-05-22

你好,

join() 方法用于把数组中的所有元素放入一个字符串,元素是通过指定的分隔符进行分隔的。

例如一个数组是[1,2,3,4],现在用-分隔符进行分隔:

http://img.mukewang.com/climg/5ce4e6f400014f1504010068.jpg

结果:

http://img.mukewang.com/climg/5ce4e6fe0001ff7e01110030.jpg

数组中四项内容分隔用到的是三个-分隔符。

而粘贴的代码中:

http://img.mukewang.com/climg/5ce4e72e0001207805960127.jpg

想要输出sss,也就是三个分隔符,那么数组长度就需要是4,所以创建数组的时候是3+1 。

自己可以再测试理解下,祝学习愉快!

欢迎采纳~

5

0 学习 · 10739 问题

查看课程