javascript - 用 .split() 结果覆盖源变量

标签 javascript arrays split

在拆分之前拆分的变量并覆盖原始变量时是否会遇到问题?

示例:

arr = str.split(" ");
arr = arr[0].split("/");

我测试过,它有效。但是:

  • 这样做有风险吗?
  • 它在所有浏览器上始终都能按照我的预期运行吗?

最佳答案

这在所有浏览器中都可以。没有风险。

您只需分配变量arr来引用新的东西,它曾经引用什么并不重要。 (这实际上并不“覆盖旧数组”,但如果没有其他对旧数组的引用,垃圾收集器将处理它。)

您也可以在一行中完成:

arr=str.split(" ")[0].split("/");

请注意according to MDN, .split()始终返回一个至少包含一个元素的数组,即使源字符串为空或不包含分隔符。

编辑:如果源字符串分隔符都是空字符串.split()似乎返回一个空数组。即,"".split("") 返回[]。感谢穆尼姆指出这一点。 (但是 "".split("") 返回 [""] 因此对于这个问题来说不会有任何问题。)

关于javascript - 用 .split() 结果覆盖源变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8410504/

相关文章:

pdf - 如何将 PDF 拆分为多个文档

ListBox 中的 C# Split()

javascript - jQuery .change() 函数问题

javascript - 从另一个对象创建新的且不同的对象的最佳方法

arrays - 如何使用 Spark SQL 正确分解 JSON 中的字段

JavaScript 对象数组 - 根据嵌套对象从数组中删除重复对象

Python Regex Compile 拆分字符串,以便单词首先出现

javascript - 如何判断 Web 应用程序是否正在使用 ReactJs

javascript - 如何使用javascript获取xml中某个标题的内容?

java - Android - 检查数组中是否存在值