现在的位置: 首页 > 综合 > 正文

JavaScript中数组的诡异点

2016年09月13日 ⁄ 综合 ⁄ 共 391字 ⁄ 字号 评论关闭

这是一篇翻译的文章。原文:http://wtfjs.com/2013/07/18/array-ruse

[,,,].join() // ==> ",,"


最后一个逗号被当作多余的部分被移去了(仅在JavaScript中,不包括JSON,译者表示,低版本的IE也是如此,因此在低版本IE中输出的是",,,")。一旦最后一个逗号被移去,数组中仅有三个元素,且是undefined类型的。 当join函数被调用,参数为空时,使用","作为元素的分隔符生成在字符串中,所以只有两个分隔符",,"

所以 [1,2,3,] 等价于 [1,2,3].  [,,,] 构建的数组,其实就是 [undefined,
undefined, undefined,]
. 你可以像下面代码这样,在数组的最后添加undefined声明,以显式地表示这个数组共有四个元素。

[,,,undefined].join() // ==> ',,,'

抱歉!评论已关闭.