为啥将变量放在尖括号中会访问数组的第一个值[重复]

Posted

技术标签:

【中文标题】为啥将变量放在尖括号中会访问数组的第一个值[重复]【英文标题】:Why does putting a variable in angle brackets access the first value of an array [duplicate]为什么将变量放在尖括号中会访问数组的第一个值[重复] 【发布时间】:2021-11-06 02:39:46 【问题描述】:

我已经使用这个技巧几次了,但我仍然无法理解为什么它有效并且似乎无法找到答案。谁能解释一下?

let myArray = [0, 1]
let [myVar] = myArray
console.log(myVar) // outputs 0

[myVar] 与将 [0] 放在 myrArray 后面有何相同之处?

编辑:已经在这里询问和回答: Multiple assignment in javascript? What does [a,b,c] = [1, 2, 3]; mean?

谢谢大家

【问题讨论】:

它正在解构数组并获取第一个索引元素并将其放入myVar。 Read 见"Array destructuring" section here 由于某种原因,我的大脑没有将数组解构与此联系起来......谢谢 【参考方案1】:

您可能正在寻找this 参考。

但基本上,括号可用于将结构/数组的单个元素分配给变量,也可以与多个元素一起使用。

例如:

let myArray = [0, 1]
let [myVar1, myVar2] = myArray
console.log(myVar1) // outputs 0
console.log(myVar2) // outputs 1

PS:仅供参考,这些[] 是方括号,而这些<> 是尖括号。

【讨论】:

这可能是评论而不是答案。【参考方案2】:

它被称为“Destructuring_assignment” 你可以在这里阅读更多内容

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment

【讨论】:

以上是关于为啥将变量放在尖括号中会访问数组的第一个值[重复]的主要内容,如果未能解决你的问题,请参考以下文章

为啥将项目添加到空白数组中会重复显示项目?

排序算法 #6 快速排序

为啥我的数组计数存储在会话变量中会加倍?

将多次访问的具有常量值的数组放在哪里?

为啥 SQL 结果中会出现重复值

Perl 变量:数组变量