javascript - 为什么在使用 .split、.reverse、.join 时需要 ("")
问题描述
例如,如果我使用 str.split() 它不会工作,但是当使用 str.split("") 它正常工作。
问题可能很奇怪,但“”实际上是做什么的?你能给我一些使用其他东西的例子吗(如果它甚至使用过的话)?它只是语法还是有原因?
希望你能理解,有点难以解释。
解决方案
因为split()
,没有分隔符,真的没有意义。 split()
with""
表示“在每个字符之间拆分”。对于其他任何东西,它的意思是“每次遇到这个字符时都拆分成一个字符串数组”。
例如:
const str = "h1e1l1l1o1w1o1r1l1d";
console.log(str.split(1));
这将拆分为一个数组,其中“helloworld”的每个字母都是该数组的一个单独项目。
此外,规范实现规定了如果省略分隔符会发生什么(强调我的):
指定字符串,该字符串表示每个拆分应该发生的点。被
separator
视为字符串或正则表达式。如果纯文本separator
包含多个字符,则必须找到整个字符串来表示一个分割点。如果separator
省略或未出现在 中str
,则返回的数组包含一个由整个字符串组成的元素。如果separator
是空字符串,str
则转换为字符数组。
请阅读以下方法的文档: