我有一个这样的对象:
obj = {'id': 1, a: [1, 2, 3]}
我想解构并从obj
获得数组a
arr = {...obj.a}
我得到:
{0: 1, 1: 2, 2: 3}
这不是数组
如何获取数组本身?
答案 0 :(得分:4)
您是{}
中的spreading数组。这将创建一个以数组索引为键的对象。这就是为什么您获得{0: 1, 1: 2, 2: 3}
const a = [ 1, 2 ]
console.log({ ...a })
如果要将属性放入变量,则为correct syntax:
const { propertyName } = yourObject
// if you want to have a variable name which is different than the propertyName
const { propertyName: someOtherVariable } = yourObject
这是有效的代码段:
const obj = {'id': 1, a: [1, 2, 3] }
const { a: arr } = obj; // this is same as: const arr = obj.a
console.log(arr)
答案 1 :(得分:1)
您可以通过使用rest语法将数组分配给数组来将其分解为数组。
var obj = { id: 1, a: [1, 2, 3] },
[...arr] = obj.a;
console.log(arr);
答案 2 :(得分:0)
几乎-相反:)
let {a: arr} = {'id': 1, a: [1, 2, 3]}
答案 3 :(得分:0)