定義和用法
split() 方法用於把一個字符串分割成字符串數組。
語法
stringObject.split(separator,howmany)
separator 作為分隔符,separator
可以是一個String
類型也可以是一個RegExp
對象,平時很少用到正則作為分隔符,查了些資料加上自己的理解,記錄下:
比如這段代碼:
var str = "姓名+研究編號+年齡" var res = str.split(/[,+]/).map(_.trim);
1. [ ] 中括號在正則中稱為字符組(Character class),有的書翻譯為字符類,還有的翻譯成字符集。字符組為一組字符,它表示在一個位置里可能出現的多種字符。注意這里強調只匹配一個位置。
“很多元字符在字符組內都變成了普通字符” ,像 "?","+","*"這幾個一旦放到中括號也變成了普通的字符了。所以此處中括號里的“,”“+” 都為普通的字符,[,+] 表示 以逗號和加號為分隔符進行切割。
2. 再看 .map 用法
map()
方法返回一個由原數組中的每個元素調用一個指定方法后的返回值組成的新數組。
所以這段代碼可以解釋為 調用 _.trim 這個方法處理分割后的 res ,返回新的數組。
3. _.trim 是 Lodash 里的用法,不清楚可以查文檔 https://www.css88.com/doc/lodash/#_trimstring-charswhitespace
_.trim([string=''], [chars=whitespace])
從string
字符串中移除前面和后面的 空格 或 指定的字符。
最后 得到 str 的值為以加號分割的數組 : ['姓名', '研究編號', '年齡']