我有一个这样的对象:
obj = {'id': 1, a: [1, 2, 3]}
我想解构并从中获取数组 aobj
arr = {...obj.a}
我得到:
{0: 1, 1: 2, 2: 3}
这不是一个数组
如何获取数组本身?
我有一个这样的对象:
obj = {'id': 1, a: [1, 2, 3]}
我想解构并从中获取数组 aobj
arr = {...obj.a}
我得到:
{0: 1, 1: 2, 2: 3}
这不是一个数组
如何获取数组本身?
你在里面传播一个数组{}
。这将创建一个以数组索引作为键的对象。这就是为什么你得到{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 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)
几乎 - 这是相反的方式:)
let {a: arr} = {'id': 1, a: [1, 2, 3]}
您可以通过将数组分配给具有 rest 语法的数组来解构到数组。
var obj = { id: 1, a: [1, 2, 3] },
[...arr] = obj.a;
console.log(arr);
使用方括号而不是花括号将其展开到新数组中:
const obj = {'id': 1, a: [1, 2, 3]}
const arr = [...obj.a]
console.log(arr)