首页 > 解决方案 > 为什么在使用 .split、.reverse、.join 时需要 ("")

问题描述

例如,如果我使用 str.split() 它不会工作,但是当使用 str.split("") 它正常工作。

问题可能很奇怪,但“”实际上是做什么的?你能给我一些使用其他东西的例子吗(如果它甚至使用过的话)?它只是语法还是有原因?

希望你能理解,有点难以解释。

标签: javascriptstring

解决方案


因为split(),没有分隔符,真的没有意义。 split()with""表示“在每个字符之间拆分”。对于其他任何东西,它的意思是“每次遇到这个字符时都拆分成一个字符串数组”。

例如:

const str = "h1e1l1l1o1w1o1r1l1d";
console.log(str.split(1));

这将拆分为一个数组,其中“helloworld”的每个字母都是该数组的一个单独项目。

此外,规范实现规定了如果省略分隔符会发生什么(强调我的):

指定字符串,该字符串表示每个拆分应该发生的点。被separator视为字符串或正则表达式。如果纯文本separator包含多个字符,则必须找到整个字符串来表示一个分割点。如果separator省略或未出现在 中str,则返回的数组包含一个由整个字符串组成的元素。如果separator是空字符串,str则转换为字符数组。

请阅读以下方法的文档:


推荐阅读