一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第20天,点击查看活动详情。
说在前面
🎈split这个方法现在在前端数据处理过程中的使用频率还是比较高的,在平时我们大部分时间是使用其对一些特殊符号进行分割,如'1,2,3,4,5,6'.splice(',')得到的结果会是['1','2','3','4','5','6'],接下来让我们一起来重新了解一下split()。
定义
split() 方法用于把一个字符串分割成字符串数组。
语法
stringObject.split(separator,howmany)
参数描述
separator 必需。字符串或正则表达式,从该参数指定的地方分割 stringObject。
howmany 可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。
返回值
一个字符串数组。该数组是通过在 separator 指定的边界处将字符串 stringObject 分割成子串创建的。返回的数组中的字串不包括 separator 自身。
但是,如果 separator 是包含子表达式的正则表达式,那么返回的数组中包括与这些子表达式匹配的字串(但不包括与整个正则表达式匹配的文本)。
提示
如果把空字符串 ("") 用作 separator,那么 stringObject 中的每个字符之间都会被分割。
String.split() 执行的操作与 Array.join 执行的操作是相反的。
例子
var str="How are you doing today?"
console.log(str.split(" ") )
console.log(str.split("") )
console.log(str.split(" ",3) )
//输出:
//[How,are,you,doing,today?]
//[H,o,w, ,a,r,e, ,y,o,u, ,d,o,i,n,g, ,t,o,d,a,y,?]
//[How,are,you]
使用多个分割符进行分割
上面的例子是使用的最简单的一个分割符进行分割,也是我们常用的,但是在实际应用中我们也可能需要同时对多个字符进行分割
(1)使用join配合split
join()方法是在将数组转换为字符串的时候使用的,在这里我们可以利用它来进行多次分割,具体代码如下:
let str = "1+1-2*3/4";
let separator = "+-*/";
for(let i = 0; i < separator.length - 1; i++){
str = str.split(separator[i]).join(separator[i+1]);
}
console.log(str.split(separator[separator.length - 1]));
//结果
//["1", "1", "2", "3", "4"]
(2)使用正则表达式进行分割
split方法的separator参数支持正则表达式,所以我们可以使用正则表达式来进行分割,具体代码如下:
let str = "1+1-2*3/4" separator = /\+|-|\*|\//;
console.log(str.split(separator)); //注意对特殊字符进行转义
//输出结果 //["1", "1", "2", "3", "4"]
说在后面
🎉这里是JYeontu,现在是一名前端工程师,有空会刷刷算法题,平时喜欢打打羽毛球🏸 ,平时也喜欢写些东西,既为自己记录📋,也希望可以对大家有那么一丢丢的帮助,写的不好望多多谅解🙇,写错的地方望指出,定会认真改进😊,在此谢谢大家的支持,我们下文再见🙌。