Javascript 如何循环使用array.reduce变量

Javascript 如何循环使用array.reduce变量,javascript,arrays,Javascript,Arrays,我有一个包含日期的数组 var arrs= ["2016/10/4", "2016/10/4", "2016/10/7", "2016/10/7", "2016/10/7"]; 我减少这个数组以获得相同日期的计数,所以我使用以下代码 var maps = arrs.reduce(function(prev, cur) { prev[cur] = (prev[cur] || 0) + 1; return prev; }, {}); console.log(maps); 现在,在

我有一个包含日期的数组

var arrs= ["2016/10/4", "2016/10/4", "2016/10/7", "2016/10/7", "2016/10/7"];
我减少这个数组以获得相同日期的计数,所以我使用以下代码

var maps = arrs.reduce(function(prev, cur) {
    prev[cur] = (prev[cur] || 0) + 1;
    return prev;
}, {});
console.log(maps);
现在,在浏览器控制台中,每个唯一日期的计数如下所示:

Object {2016/10/4: 2, 2016/10/7: 3}
我想为这个reduce对象创建json对象

[{
    date : 2016/10/4,
    value : 2
},
{
    date : 2016/10/7,
    value : 3
}]

如何获取它,我无法获取长度或使forEach成为地图。

生成对象后,使用和方法生成所需的数组

var arrs=[“2016/10/4”、“2016/10/4”、“2016/10/7”、“2016/10/7”、“2016/10/7”];
var映射=arrs.REDUCT(函数(上、当前){
上一个[当前]=(上一个[当前]| 0)+1;
返回上一个;
}, {});
maps=Object.keys(maps)//获取所有属性名
//迭代生成元素
.map(函数(k){
//生成数组元素的首选结构
返回{
日期:k,
值:映射[k]
};
});

控制台日志(地图)太好了,这就是我要找的。谢谢你,巴兰。@克拉拉:很高兴帮助你:)