gpt4 book ai didi

javascript - 从 ES6/ES7 中的特定结构化对象数组中提取值

转载 作者:行者123 更新时间:2023-11-30 20:58:14 24 4
gpt4 key购买 nike

让我解释一下我的问题。

我有这样的数据:

data: {
carType: {key: 'sport', label: 'Sports Car'},
carStyle: {key: 'striped', label: 'Striped (with blabla)'},
carPrice: {key: 'expensive', label: 'Above 500.000$'},
carOptions: [
{key: 'aluminium', label: 'Chrome Wheel (Available different size)'},
{key: 'leatherSeat', label: 'Seat Leather from Italy'},
]
}

我需要处理这些数据以获得与我的对象键关联的键值///我在这里面临的棘手情况是多项选择的情况。

类似的东西:

body: {
carType: 'sport',
carStyle: 'striped',
carPrice: 'expensive',
carOptions: ['aluminium', 'leatherSeat']
}

我在 ES5 中做了一些相当冗长的事情。如果可能的话,我想要一些更干净的东西与 ES6/ES7 功能一起使用来解决这个问题。感谢您的宝贵时间。

ps:不考虑数据的内容。就是为了这个话题而编的。就我而言,只有数据结构无法修改

最佳答案

这里是 ES6,使用 Array.reduce

const data = {
carType: {
key: 'sport',
label: 'Sports Car'
},
carStyle: {
key: 'striped',
label: 'Striped (with blabla)'
},
carPrice: {
key: 'expensive',
label: 'Above 500.000$'
},
carOptions: [{
key: 'aluminium',
label: 'Chrome Wheel (Available different size)'
},
{
key: 'leatherSeat',
label: 'Seat Leather from Italy'
},
]
};

const changedData = Object.keys(data).reduce((tmp, x) => {
tmp[x] = data[x] instanceof Array ? data[x].map(y => y.key) : data[x].key;

return tmp;
}, {});

console.log(changedData);

关于javascript - 从 ES6/ES7 中的特定结构化对象数组中提取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47415972/

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