console.log(Array(4).join("hi"));
>> "hihihi"
我不知道到底发生了什么?
答案 0 :(得分:1)
join()
与split()
相反。而split通过你传递的分隔字符分隔一个数组,而join将把所有分隔每个元素的元素与你传递的任何参数组合起来。
在这种情况下,数组只是Array(4)
,因此有4个未定义的元素。结合这些将产生" undefined
hi undefined
hi undefined
hi undefined
"。
由于在这种情况下js不会actually treat undefined as anything,因此它会将其变为空字符串,而您获得的只是hihihi
编辑:join()
文档中我最后一条语句的引用:
所有数组元素的字符串转换都连接成一个字符串。如果元素未定义或为null,则将其转换为空字符串。