首页 > Array(i).join(i)为何返回的是这个结果呢?

Array(i).join(i)为何返回的是这个结果呢?

有一段代码不能理解

for (var i = 2; i <= 6; i += 2) {
            temp = Array(i + 1).join(i);
            console.log(temp);
        }

结果输出的是22,4444,666666.这是为什么啊?


你可以这么理解:

[undefined, undefined, undefined].join(2);
"22"
[undefined, undefined, undefined, undefined, undefined].join(4);
"4444"
[undefined, undefined, undefined, undefined, undefined, undefined, undefined].join(6);
"666666"

Array(i + 1) 表示长度为i+1的数组,但是均为空,join方法的参数代表分隔符,这里代表以246,为分隔符,所以为空2空2空空4空4空4空4空


创建数据的三种方法。
new Array();
new Array(size);
new Array(element0, element1, ..., elementn);
当传入一个参数时,是第二种构建方法。
以i=2来说。
temp = Array(2+1).join(2);
创建长度为为3的数据,
join(2),2为分隔符。 所以输出 22;

【热门文章】
【热门文章】