首页 > 解决方案 > 如何从javascript中的对象内部解构数组?

问题描述

我有一个这样的对象:

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

我想解构并从中获取数组 aobj

arr = {...obj.a}

我得到:

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

这不是一个数组

如何获取数组本身?

标签: javascriptarraysobject-destructuring

解决方案


你在里面传播一个数组{}。这将创建一个以数组索引作为键的对象。这就是为什么你得到{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)


推荐阅读