Javascript 如何将有效负载数据格式化为仅包含与特定部分对应的数据?
我有一个不同部分的对象数组。每个对象都包含名称和值对。现在,将显示具有不同名称和值对的相同部分。如何格式化数据,使节仅重复一次,并且在节内部存在其对应的名称和值对 例如,这是数据的当前格式: 如何将此数据转换为以下格式Javascript 如何将有效负载数据格式化为仅包含与特定部分对应的数据?,javascript,reactjs,Javascript,Reactjs,我有一个不同部分的对象数组。每个对象都包含名称和值对。现在,将显示具有不同名称和值对的相同部分。如何格式化数据,使节仅重复一次,并且在节内部存在其对应的名称和值对 例如,这是数据的当前格式: 如何将此数据转换为以下格式 dstrSpecificHelpRs: { {name: "", value: ""}, {name: "", value: ""} {name: "",
dstrSpecificHelpRs: {
{name: "", value: ""},
{name: "", value: ""}
{name: "", value: ""}
...
},
rgstInfoRs: {
{name: "", value: ""},
{name: "", value: ""}
{name: "", value: ""}
...
}
这就是我目前拥有的:
getObject(action) {
let returnOptions=[];
Object.keys(action.payload).forEach(key => {
const payload = action.payload[key];
_.map(payload, (data) => {
_.filter(data['row'], (item) => {
returnOptions.push({
[key]: {
name: item.name,
value: item.value
}
})
})
})
})
return returnOptions;
}
我想这就是你要找的。让我知道这是否有帮助
const数据=[
{dstrSpecificHelpRs:{name:'a',value:'b'},
{dstrSpecificHelpRs:{name:'c',value:'d'},
{dstrSpecificHelpRs:{name:'e',value:'f'},
{dstrSpecificHelpRs:{name:'g',value:'h'},
{rgstInfoRs:{name:'i',value:'j'},
{rgstInfoRs:{name:'k',value:'l'},
{rgstInfoRs:{name:'m',value:'n'},
{rgstInfoRs:{name:'o',value:'p'},
]
函数getObject(操作){
常量dstrSpecificHelpRs=[];
常数rgstInfoRs=[];
action.payload.forEach((项目)=>{
如果(项目['DSTRSPECICHELPRS']){
DSTRSPECICHELPRS.push(项目);
}
如果(项目['rgstInfoRs']){
rgstInfoRs.推送(项目);
}
});
返回{dstrSpecificHelpRs,rgstInfoRs};
}
log(getObject({payload:data}))代码>这就是你要找的
使用以下代码:
const数据=[
{
DSTRSPECICHELPRS:{
名称:“名称1”,
值:“值1”
}
},
{
DSTRSPECICHELPRS:{
姓名:“姓名2”,
价值:“价值2”
}
},
{
rgstInfoRs:{
名称:“信息名称1”,
值:“信息值1”
}
},
{
rgstInfoRs:{
名称:“信息名称2”,
值:“信息值2”
}
},
{
DSTRSPECICHELPRS:{
姓名:“姓名3”,
价值:“价值3”
}
}
]
让newData={}
data.forEach((值)=>{
Object.keys(value).forEach((key)=>{
if(新数据[键]==未定义){
newData[key]=[value[key]]
}否则{
newData[key].push(值[key])
}
})
});
console.log(newData)代码>这很有效,谢谢!谢谢你的回复,但这没有成功。