chr*_*lee 7 destructuring ecmascript-6
嵌套解构是否可能?
例如,我想要数组中的第一项,并在该数组中我想要该子数组的第一项.
鉴于:
let arr = [['foo'], ['bar']];
Run Code Online (Sandbox Code Playgroud)
有没有更简单的方法:
let firstItem = arr[0][0];
Run Code Online (Sandbox Code Playgroud)
是的,可以解构嵌套数组(和对象)。
让我们考虑一下这个嵌套数组[[1], [1, 2], [1, 2, 3]],它是一个2D数组。要获得第一个子数组的第一个元素,
let [[x]] = [[1], [1, 2], [1, 2, 3]]
Run Code Online (Sandbox Code Playgroud)
要获取第二个子数组的第一个元素,
let [,[x]] = [[1], [1, 2], [1, 2, 3]]
Run Code Online (Sandbox Code Playgroud)
在这里,逗号用于跳过元素。要获得第三个子数组的第二个元素,如下所示:
let [,,[,x]] = [[1], [1, 2], [1, 2, 3]]
Run Code Online (Sandbox Code Playgroud)
如果要检索数组中的特定元素以及其余元素,则可以使用rest运算符...。例如,要分别获取第三个子数组的第一个元素和其余元素,
let [,,[x, ...others]] = [[1], [1, 2], [1, 2, 3]] // x=1, others=[2, 3]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2226 次 |
| 最近记录: |