gpt4 book ai didi

javascript - 为什么 String() 在 JS 中会压平数组?

转载 作者:行者123 更新时间:2023-11-28 11:20:27 25 4
gpt4 key购买 nike

我惊讶地发现 String 构造函数在应用于数组时的扁平化行为。

为什么这有效。这是展平数组的好方法吗?

在 Mac Chrome、Safari、Firefox 上测试得到相同的结果。

String(['a', 'b', ['c', 'd', ['e', 'f']]])

=> "a,b,c,d,e,f"

最佳答案

因为将数组转换为字符串会调用.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"

关于javascript - 为什么 String() 在 JS 中会压平数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54696018/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com