为什么在使用.split,.reverse,.join时需要(“”)

时间:2018-04-25 17:10:31

标签: javascript string

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

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

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

2 个答案:

答案 0 :(得分:2)

因为split()没有分隔符,所以没有意义。 split() ""表示“在每个角色之间拆分”。除了其他任何东西,它意味着“每次遇到这个角色时拆分成一个字符串数组”。

例如:

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

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

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

  

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

请阅读以下方法的文档:

答案 1 :(得分:2)

JavaScript String.split()方法接受两个可选参数,如果不向方法传递任何内容,则返回一个数组,其中原始字符串作为数组中的第一个值。

第一个参数是要拆分的字符,如果这是一个空字符串,它会拆分每个字符,所以如果你的字符串变量是dog并且你在它上面调用split传递空字符串,它会将每个字符分成一个数组,所以你有一个包含3个元素的数组,每个元素都是一个字母,数组[0] ='d',数组1 ='o',数组[2] ='g'

第二个参数是可选的,它给出了要进行多少拆分的限制,所以如果你有一个可以在空格上拆分6次并且你将第二个参数作为5传递的单词,它将省略最后一部分。 / p>