如何从 javascript 中的对象内部解构数组?
How to destructure an array from inside an object in javascript?
我有一个这样的对象:
obj = {'id': 1, a: [1, 2, 3]}
我想解构并从 obj
中获取数组 a
arr = {...obj.a}
我得到:
{0: 1, 1: 2, 2: 3}
这不是数组
如何获取数组本身?
差不多 - 正好相反:)
let {a: arr} = {'id': 1, a: [1, 2, 3]}
您可以通过将数组分配给具有剩余语法的数组来解构数组。
var obj = { id: 1, a: [1, 2, 3] },
[...arr] = obj.a;
console.log(arr);
你是 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)
使用方括号而不是大括号将其 spread 放入新数组中:
const obj = {'id': 1, a: [1, 2, 3]}
const arr = [...obj.a]
console.log(arr)
我有一个这样的对象:
obj = {'id': 1, a: [1, 2, 3]}
我想解构并从 obj
arr = {...obj.a}
我得到:
{0: 1, 1: 2, 2: 3}
这不是数组
如何获取数组本身?
差不多 - 正好相反:)
let {a: arr} = {'id': 1, a: [1, 2, 3]}
您可以通过将数组分配给具有剩余语法的数组来解构数组。
var obj = { id: 1, a: [1, 2, 3] },
[...arr] = obj.a;
console.log(arr);
你是 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)
使用方括号而不是大括号将其 spread 放入新数组中:
const obj = {'id': 1, a: [1, 2, 3]}
const arr = [...obj.a]
console.log(arr)