猿问

如何从javascript中的对象内部解构数组?

我有一个这样的对象:

obj = {'id': 1, a: [1, 2, 3]}

我想解构并从中获取数组 a obj

arr = {...obj.a}

我得到:

{0: 1, 1: 2, 2: 3}

这不是数组

如何获取数组本身?


阿波罗的战车
浏览 304回答 3
3回答

犯罪嫌疑人X

你在里面散布一个数组{}。这将创建一个以数组索引作为键的对象。这就是为什么你得到{0: 1, 1: 2, 2: 3}const a = [ 1, 2 ]console.log({ ...a })如果要将属性放入变量,这是正确的语法:const { propertyName } = yourObject// if you want to have a variable name which is different than the propertyNameconst { propertyName: someOtherVariable } = yourObject这是工作片段:const obj = {'id': 1, a: [1, 2, 3] }const { a: arr } = obj; // this is same as: const arr = obj.aconsole.log(arr)

呼啦一阵风

您可以通过将数组分配给具有 rest 语法的数组来解构数组。var obj = { id: 1, a: [1, 2, 3] },    [...arr] = obj.a;console.log(arr);

弑天下

几乎 - 正好相反:)let  {a: arr} = {'id': 1, a: [1, 2, 3]}
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答