我是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将字符串划分为有序的子字符串。它也会考虑空间