gpt4 book ai didi

javascript - 解构es6中的对象数组

转载 作者:数据小太阳 更新时间:2023-10-29 04:22:27 27 4
gpt4 key购买 nike

在 es6 中,我如何使用解构来简化以下行?:

const array0 = someArray[0].data;
const array1 = someArray[1].data;
const array2 = someArray[2].data;

最佳答案

使用解构是否真的是一种简化尚有争议,但这是可以做到的:

const [
{ data: array0 },
{ data: array1 },
{ data: array2 }
] = someArray

实例:

const someArray = [
{ data: 1 },
{ data: 2 },
{ data: 3 }
];

const [
{ data: array0 },
{ data: array1 },
{ data: array2 }
] = someArray

console.log(array0, array1, array2);

发生的事情是,您首先从 someArray 中提取每个对象,然后通过提取 data 属性并重命名来解构每个对象:

// these 2 destructuring steps
const [ obj1, obj2, obj3 ] = someArray // step 1
const { data: array0 } = obj1 // step 2
const { data: array1 } = obj2 // step 2
const { data: array2 } = obj3 // step 2

// written together give
const [
{ data: array0 },
{ data: array1 },
{ data: array2 }
] = someArray

也许将解构与映射结合起来以获得(可能)更具可读性的代码:

const [array0, array1, array2] = someArray.map(item => item.data)

实例:

const someArray = [
{ data: 1 },
{ data: 2 },
{ data: 3 }
];

const [array0, array1, array2] = someArray.map(item => item.data)

console.log(array0, array1, array2);

关于javascript - 解构es6中的对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49413544/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com