Javascript 如何从api调用中动态获取对象密钥并更改有效负载结构格式?
如何通过动态使用键将以下当前对象数组存储到对象键和值对中?我有另一个api使用相同的api调用,但它没有使用键Desc和DSTR_NR,而是使用不同的键:Javascript 如何从api调用中动态获取对象密钥并更改有效负载结构格式?,javascript,reactjs,ecmascript-6,Javascript,Reactjs,Ecmascript 6,如何通过动态使用键将以下当前对象数组存储到对象键和值对中?我有另一个api使用相同的api调用,但它没有使用键Desc和DSTR_NR,而是使用不同的键: { list: [ [ { Desc: { value: '7777 - Florida Hurricane' }, DSTR_NR: { value: '7777' } }, {
{
list: [
[
{
Desc: {
value: '7777 - Florida Hurricane'
},
DSTR_NR: {
value: '7777'
}
},
{
Desc: {
value: '7172 - Virginia Severe Storm(s)'
},
DSTR_NR: {
value: '7172'
}
}
]
]
}
我试着做了以下几件事,但没用:
const data = list.map((item) => {
return {
name: Object.values(item),
value: Object.values(item)
}
})
我想要的格式是:
{
list: [
{
name: '7777',
value: '7777 - Florida Hurricane'
},
{
name: '7172',
value: '7172 - Virginia Severe Storm(s)'
}
]
}
Object.values
给出该对象所有值的数组
此外,您的列表是数组的数组,因此您必须首先将其展平,或者如果它只有一个值,请使用list[0]
示例解决方案如下所示
const数据={
“名单”:[
[{
“描述”:{
“值”:“7777-佛罗里达飓风”
},
“DSTR_NR”:{
“值”:“7777”
}
}, {
“描述”:{
“值”:“7172-弗吉尼亚州强风暴”
},
“DSTR_NR”:{
“值”:“7172”
}
}]
]
};
const newList=data.list.flat().map(项=>({
名称:item.DSTR_NR.value,
值:item.Desc.value
}));
console.log({
列表:新列表
})