我在 JavaScript 中遇到了以下问题:
const [x1, ...[result]] = [3, 4, 5]
console.log([result])
我知道x1是3,但是为什么记录结果是[4]而不是[4,5]?
最佳答案
如果我们遵循这个语法,基本上会发生什么
const [a,...b] = [3,4,5]
Javascript 创建一个名为 b
的数组,其值为 [4,5]
但就你而言,发生的情况是,
const [a,...[b]] = [3,4,5]
这本质上是只分配给空数组的第一个变量,第一个值为 b
,它始终等于 4
而不是 [4,5]
如您所料。
所以相当于下面的情况
const [a,...[b,c]] = [3,4,5]
唯一的区别是您没有在您的情况下提供变量c
。
因此,b
对应于 4
,c
对应于 5
关于JavaScript 使用数组元素进行解构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68743868/