在javascript中无法理解的数组方法和连接函数组合输出

时间:2016-07-11 05:36:48

标签: javascript arrays function

我在myArr中定义了javascript变量,如下所示:

var myArr= Array(3);

当我consoled myArr的值时,它会给出以下输出:

[undefined × 3]

当我使用javascript join函数时,如下所示:

myArr.join('X');

consoled输出我得到以下内容:

"XX"

有人可以解释一下为什么我得到这个输出?我期待输出

"undefinedXundefinedX"

3 个答案:

答案 0 :(得分:1)

Array(3)创建一个包含三个空洞的数组。

要获得所需的结果,您需要填补空洞:Array(3).fill()

答案 1 :(得分:1)

Array.prototype.join将执行所有数组元素的字符串转换并加入一个字符串。如果元素未定义或为null,则将其转换为空字符串。 join

所有未定义的元素都等于["","",""]。join(' X')

答案 2 :(得分:0)

Array(3)将创建一个长度为3的数组。

在安慰myArr时,它将记录空数组

join会将数组的所有元素连接成一个字符串