Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.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 - Fatal编程技术网

如何使用JavaScript将对象数组转换为给定格式

如何使用JavaScript将对象数组转换为给定格式,javascript,Javascript,我需要使用JavaScript格式化数据数组。我使用的数据如下: var response = [{ day_id:1, day_name:"Monday", subcat_id:"2", cat_id:"1", comment:"hii" }, { day_id:1, day_name:"Monday", subcat_id:"1", cat_id:"2", comment:

我需要使用JavaScript格式化数据数组。我使用的数据如下:

var response = [{
      day_id:1,
      day_name:"Monday",
      subcat_id:"2",
      cat_id:"1",
      comment:"hii"
}, {
      day_id:1,
      day_name:"Monday",
      subcat_id:"1",
      cat_id:"2",
      comment:"hello"
}
 {
      day_id:2,
      day_name:"Tuesday",
      subcat_id:"3",
      cat_id:"2",
      comment:"hii"
}]
。。。我需要把它转换成以下格式

var responseNew = {
      data: [{
        day_name: "Monday",
        day_id:1
        answers:[{
          cat_id:1,
          subcat_id:1,
          comment:'hii'
        },{
          cat_id:1,
          subcat_id:2,
          comment:'hello'
        }]
      }, {
        day_name: "Tuesday",
        day_id:2
        answers:[{
          cat_id:3,
          subcat_id:2,
          comment:'hello'
        }]
      }, {
        day_name: "Wednesday"
         day_id:3
      }, {
        day_name: "Thursday"
         day_id:4
      }, {
        day_name: "Friday"
         day_id:5
      }, {
        day_name: "Saturday",
         day_id:6
      }, {
        day_name: "Sunday"
         day_id:7
      }]
    };

我想把我的第一个数组转换成第二个格式。一个条件是,如果另一天的id不存在,它只需如上所述以静态方式设置天名称和天id。

使用下划线按天进行分组,然后使用贴图呈现您所需的对象

var响应=[{
第一天,
日期名称:“星期一”,
子类别id:“2”,
cat_id:“1”,
评论:“嗨”
}, {
第一天,
日期名称:“星期一”,
子类别id:“1”,
cat_id:“2”,
评论:“你好”
}, {
第二天,
日期名称:“星期二”,
子类别id:“3”,
cat_id:“2”,
评论:“嗨”
}];
var responseNew=u0.chain(响应)
.groupBy(“日id”)
.map(功能(obj){
返回{
日期名称:obj[0]。日期名称,
日id:obj[0]。日id,
答案:obj.map(功能(o){
返回{
猫id:o.猫id,
子类别id:o.子类别id,
评论:o.comment
}
})
};
});
console.log(responseNew);
$(“#myPre”).html(JSON.stringify(responseNew,null,4))


让我们看看您的尝试如何?您没有提供代码,只提供了输入和预期输出。所以这不是一个“为我编写代码”的网站,而是一个寻求帮助的地方。如果您有具体问题,我们很乐意提供帮助,但我们不会从头开始为您编写算法。您能帮我做这个吗。/我做了一些事情,但出了问题,这就是我需要帮助的原因。因此,请提供“错误”代码,我们将帮助您改进它。我们不会为您编写它。仅供参考,我还应该提到,您提供的东西都不是JSON。它们是JavaScript对象。