javascript - JavaScript split() 方法的混淆
问题描述
拆分方法混淆
"aba".split("a") // ["", "b", ""]
"baab".split("a") // ["b", "", "b"]
为什么 split 方法返回的结果中有一个空项
解决方案
"aba".split("a")
给你,["", "b", ""]
因为分隔符 ( a
) 出现在字符串的开头和结尾。所以从概念上讲,第一个分隔符之前有一个空白字符串,最后一个分隔符之后有一个空白字符串。
"baab".split("a")
给你,["b", "", "b"]
因为在概念上中间的两个分隔符之间有一个空白字符串。
在您问过的评论中:
我有一个问题是字符串中存在空白字符串的位置。
就在位于位置 0 的分隔符之前。
您可以像往常一样在规范中找到完整的详细信息,但MDN的页面可能更易于阅读。
考虑一下:如果"aba".split("a")
给你["b"]
而不是["", "b", ""]
,你怎么知道字符串中有任何分隔符?"b".split("a")
也会给你["b"]
。
推荐阅读
- c++ - 使用 Gtk3 检测屏幕上任意位置的鼠标点击
- flutter - Flutter:仅适用于 Web 用户的导入包
- google-cloud-platform - 将项目 (VM) 迁移到另一个 GCP 帐户以使用免费层
- c++ - 为什么我的结构占用的内存比请求的多?
- javascript - How do I make an array with inputs and then pass it to another function jQuery
- php - 数组中的值?
- javascript - Getting null value when interpolating in querySelector - works when hard-coded
- node.js - npm 安装错误:找不到模块'read-package-tree'
- flutter - Flutter - multiple errors when running tests
- visual-studio - 如何在源代码控制(Visual Studio 和 TFS)中比较文件 .csproj 与最新版本