字符串分割方法返回空字符串数组



我是Javascript新手。我想知道为什么字符串分割方法返回两个空字符串的数组,当我使用这个方法与转发斜杠。

"/".split("/") // => ["", ""]

字符串分割函数将空字符串视为可接受的分割输出。所以:

"a".split("a") == ["",""]; // is true, since
"a" == "" + "a" + ""; // is true; and more importantly,
["",""].join("a") == "a"; // is true

简而言之,字符串分割函数必须给出空字符串,以便.join()运算符是分割的逆运算符。

否则,如果"/".split("/")给出[],那么"/".split("/").join("/")将是"",这违反了这个反比。

如果你真的想得到一个空数组,你可以做"/".split("/").filter(i=>i!=""),或者只是"/".split("/").filter(i=>i)。或者其他一些变体

根据MDN将字符串划分为有序的子字符串。它也会考虑空间

最新更新