推荐答案
-- -------------------- ---- ------- ----- --- - ---------------------- -- -- --------- ----- ---- - --------------- ------------------ -- --- --------- --------- --------- -- -- --------- ----- ---- - ------ ------ -------- ----- ---- - ------------ --- ------------------ -- --- --------- --------- --------- -- -- ------------------ ----- ---- - ------ ----- ---- - --------------- ------------------ -- --- ----- ---- ---- -- -- ------------------ ----- ---- - ---------------------------- ----- ---- - --------------- --- ------------------ -- --- --------- --------- -- -- --------- ----- ---- - ---------------------- ----- ---- - ---------------- ----------------- -- --- --------- --------- --------- ----- ---- - ----------------------- ----- ---- - ----------------- ----------------- -- ------------ --------- --------- ---
本题详细解读
String.prototype.split()
方法是 JavaScript 中用于分割字符串的强大工具。它接受两个可选参数:
separator (分隔符): 指定在哪里分割字符串。它可以是:
- 一个字符串:例如 ",", " ", "---"。
- 一个正则表达式:例如
/,/
,/\d/
,/[,| ]/
。 - 如果省略或者传入
undefined
,则返回包含原字符串的数组。
limit (限制): 一个可选的整数,限制返回数组的元素个数。 如果设置,则返回的数组包含不超过 limit 个元素,剩余的字符串将不被分割。
工作原理:
split()
方法会在字符串中寻找 separator
,找到后,将字符串分割成多个子字符串,这些子字符串被放入一个数组中返回。
关键点:
- 不修改原字符串:
split()
方法不会修改原字符串,而是返回一个新的数组。 - 空字符串作为分隔符: 如果
separator
是空字符串""
,则字符串会被分割成单个字符的数组。 - 正则表达式分隔符: 使用正则表达式作为
separator
可以实现更复杂的分割逻辑,例如使用多种分隔符或者处理不规则的格式。 limit
参数:limit
参数可以用来控制分割的次数,从而获得前几个分割后的子字符串。- 分割符被移除: 返回的数组中不包含分割符,除非在正则表达式中用捕获括号捕获。
- 没有找到分隔符: 如果没有找到分隔符,则会返回包含原字符串的数组
示例解析:
- 示例 1: 使用逗号
,
作为分隔符,将字符串分割成包含apple
,banana
,orange
的数组。 - 示例 2: 使用空格
apple
,banana
,orange
的数组。 - 示例 3: 使用空字符串
""
作为分隔符,将字符串分割成单个字符的数组["a", "b", "c"]
。 - 示例 4: 使用逗号
,
作为分隔符,并且使用limit
参数限制返回数组的长度为 2,结果返回["apple", "banana"]
。 - 示例 5: 使用正则表达式
/,/
作为分隔符, 将字符串分割成包含apple
,banana
,orange
的数组。 - 示例 6: 使用正则表达式
/\d/
作为分隔符, 将字符串分割成不包含数字的数组, 注意分割符是被移除的。