Javascript 基于JSON api响应构建数组

Javascript 基于JSON api响应构建数组,javascript,arrays,angularjs,Javascript,Arrays,Angularjs,下面是angularjs中api的JSON响应 { "counts": [ [ { "xcount": 0.0, "ycount": 0.0, "month": 4 }, { "xcount": 0.0, "ycount": 0.0, "month": 5 }, { "xcount": 0.0, "ycount": 2.85, "month

下面是angularjs中api的JSON响应

{
"counts": 
[
  [
    {
      "xcount": 0.0,
      "ycount": 0.0,
      "month": 4

    },
    {
      "xcount": 0.0,
      "ycount": 0.0,
      "month": 5

    },
    {
      "xcount": 0.0,
      "ycount": 2.85,
      "month": 6
    },
    {
      "xcount": 8.85,
      "ycount": 0.0,
      "month": 6
    },
    {
      "xcount": 10.17,
      "ycount": 0.0,
      "month": 7
    },
    {
      "xcount": 0.0,
      "ycount": 2.85,
      "month": 7
    },
    {
      "xcount": 12.0,
      "ycount": 0.0,
      "month": 8
    },
    {
      "xcount": 0.0,
      "ycount": 2.85,
      "month": 8
    },
    {
      "xcount": 0.0,
      "ycount": 2.85,
      "month": 9
    },
    {
      "xcount": 11.0,
      "ycount": 0.0,
      "month": 9
    }
  ]
]
}
根据我的要求,我希望以上回复如下

{
"counts": 
[
  [
    {
      "xcount": 0.0,
      "ycount": 0.0,
      "month": 4

    },
    {
      "xcount": 0.0,
      "ycount": 0.0,
      "month": 5

    },
    {
      "xcount": 8.85,
      "ycount": 2.85,
      "month": 6
    },

    {
      "xcount": 10.17,
      "ycount": 2.85,
      "month": 7
    },
    {
      "xcount": 12.0,
      "ycount": 2.85,
      "month": 8
    },
    {
      "xcount": 11.0,
      "ycount": 2.85,
      "month": 9
    }
  ]
]

}

我从你的问题中了解到,要在几个月内删除重复项,如果是这样的话,我的建议就在上面


更新:了解您关于按xcount、ycount合并的观点,并添加了必要的更改

var-arr={
“计数”:[
[
{
“月”:4,
“xcount”:0,
“ycount”:0
},
{
“月”:5,
“xcount”:0,
“ycount”:0
},
{
“月”:6,
“xcount”:0,
“ycount”:2.85
},
{
“月”:6,
“xcount”:8.85,
“ycount”:0
},
{
“月”:7,
“xcount”:10.17,
“ycount”:0
},
{
“月”:7,
“xcount”:0,
“ycount”:2.85
},
{
“月”:8,
“xcount”:12,
“ycount”:0
},
{
“月”:8,
“xcount”:0,
“ycount”:2.85
},
{
“月”:9,
“xcount”:0,
“ycount”:2.85
},
{
“月”:9,
“xcount”:11,
“ycount”:0
}
]
]
};
var tmpMonths=[];
var tmpObjects={};
var结果=[];
对于(var i=0;i
var-arr={
“计数”:[
[{
“xcount”:0.0,
“ycount”:0.0,
“月份”:4
},
{
“xcount”:0.0,
“ycount”:0.0,
“月份”:5
},
{
“xcount”:0.0,
“ycount”:2.85,
“月份”:6
},
{
“xcount”:8.85,
“ycount”:0.0,
“月份”:6
},
{
“xcount”:10.17,
“ycount”:0.0,
“月份”:7
},
{
“xcount”:0.0,
“ycount”:2.85,
“月份”:7
},
{
“xcount”:12.0,
“ycount”:0.0,
“月份”:8
},
{
“xcount”:0.0,
“ycount”:2.85,
“月份”:8
},
{
“xcount”:0.0,
“ycount”:2.85,
“月份”:9
},
{
“xcount”:11.0,
“ycount”:0.0,
“月份”:9
}
]
]
}
arr.counts[0]=arr.counts[0]。减少((acc、cv、i、arr)=>{
如果(!根据【cv.月】){
acc【cv.月】=cv;
}否则{
会计科目[cv.月].xcount+=cv.xcount
会计科目[cv.月].ycount+=cv.ycount
}
如果(i==arr.length-1){
返回Object.keys(acc.map)(key=>acc[key])
}否则{
返回acc;
}
}, {});

console.log(arr.counts[0]);
两者之间的区别是什么?原始版本有两个相同月份的条目,我想合并,我现在无法更改为api。因此必须在UI端处理。这看起来像是“为我做”这类问题。你可以添加你尝试过的内容,并进一步详细说明你需要什么。例如,我想删除重复的月份。你需要添加这些详细信息,以便使问题更具可读性和可回答性。这不仅仅是删除重复项!它结合了相同的键(月份)元素。我试图在后端使用反射来解决它,但无法得到任何解决方案,所以现在我在UI端进行尝试。所以我的想法是删除具有重复日期的对象?并且还希望合并重复的xcount和ycount的总和!你指的是合并xcount和ycount(+运算符)?像这样
{“xcount”:8.85,“ycount”:2.85,“month”:6}
值需要合并,而不是不需要做它们的总和。查找更新的代码,并让我知道是否响应您的需要?