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]
};
});
控制台日志(地图)代码>太好了,这就是我要找的。谢谢你,巴兰。@克拉拉:很高兴帮助你:)