分割之前已拆分的变量并覆盖原始变量时是否有任何问题?
示例:
arr = str.split(" ");
arr = arr[0].split("/");
我测试了它并且它有效。但是:
答案 0 :(得分:3)
在所有浏览器中都可以。没有风险。
您只是指定变量arr
来引用新的东西,它引用的内容并不重要。 (这实际上并没有“覆盖旧数组”,但如果没有对旧数组的其他引用,垃圾收集器将负责处理它。)
您也可以在一行中完成:
arr=str.split(" ")[0].split("/");
请注意according to MDN, .split()
始终返回一个至少包含一个元素的数组,即使源字符串为空或不包含分隔符。
编辑:如果源字符串和分隔符都是空字符串.split()
似乎返回一个空数组。即,"".split("")
返回[]
。感谢Munim指出这一点。 (但"".split(" ")
会返回[""]
,因此对于此问题的目的不会有任何问题。)
答案 1 :(得分:0)
当然你必须确保评估所有各个部分(例如,如果你没有空格,那么[0]将为null并且你将得到一个错误。 如果你知道你总是在str中有空格那么这将是上面代码中最难阅读的版本;)