Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将有效负载数据格式化为仅包含与特定部分对应的数据?_Javascript_Reactjs - Fatal编程技术网

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)这很有效,谢谢!谢谢你的回复,但这没有成功。