mic*_*alo 1 javascript arrays string
我很惊讶地发现字符串构造函数在应用于数组时的扁平化行为。
为什么这有效。这是展平数组的好方法吗?
在 Mac Chrome、Safari、Firefox 上测试得到相同的结果。
String(['a', 'b', ['c', 'd', ['e', 'f']]])
=> "a,b,c,d,e,f"
Run Code Online (Sandbox Code Playgroud)
因为将数组转换为字符串会调用.toString,这与调用基本相同.join(),它将调用.toString数组中的所有元素,然后用逗号将结果分隔开。因此,数组递归地连接到字符串,结果看起来很扁平,因为没有数组开始或结束的指示符。以下是逐步转换:
[[1, 2, 3], [1, 2, 3]].toString()
[1, 2, 3].toString() + "," + [1, 2, 3].toString()
(1 + "," + 2 + "," + 3) + "," + (1 + "," + 2 + "," + 3)
"1,2,3" + "1,2,3"
"1,2,3,1,2,3"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5578 次 |
| 最近记录: |