Javascript 如何从JS中的数组中获取每天按天分组的值的总和?

Javascript 如何从JS中的数组中获取每天按天分组的值的总和?,javascript,arrays,date,grouping,milliseconds,Javascript,Arrays,Date,Grouping,Milliseconds,在JS中,给定一组对象,如: [{ date: 1525655429184, value: 20.00 },{ date: 1525655429184, value: 3.99 },{ date: 1526001029184, value: 19.00 },{ date: 1526001025184, value: 4.30 }] 其中,“date”属性是以毫

在JS中,给定一组对象,如:

    [{
      date: 1525655429184,
      value: 20.00
    },{
      date: 1525655429184,
      value: 3.99
    },{
      date: 1526001029184,
      value: 19.00
    },{
      date: 1526001025184,
      value: 4.30
    }]
其中,“date”属性是以毫秒为单位的日期,“value”属性是以浮点表示的货币,此数组的每个对象可以是一个月中的一天及其关联值

我想得到每个星期天的值的总和,显示在总值x天的图表中

因此,输出应如下示例所示:

    [
      { day: 'Sun', sum: 23.99 },
      { day: 'Mon', sum: 0 },
      { day: 'Tue', sum: 22.2 },    
      { day: 'Wed', sum: 22.3 },    
      { day: 'Thu', sum: 2.2 },    
      { day: 'Fri', sum: 32.2 },    
      { day: 'Sat', sum: 22.43 },    
    ]
一天中的毫秒数:

var millsperday = 1000*60*60*24;
当前毫秒/天偏移量:

var d = new Date();
var m = d.getTime(); 
d.setHours(0,0,0,0);
var o = d.getTime()-m;
因此,要划分(unixtime)毫秒的列表:

for (i=0;i<list.length;i++) {
  numberofday = Math.floor((list[i]-o)/millsperday) ;
}

对于(i=0;i首先,您需要将
日期
(我相信以毫秒为单位)转换为日期,并使用
getDay()
获取日期。创建一个天数数组,循环天数,如果转换的日期与日期相同,则对值求和。查看下面的代码段

var数据=[{
日期:1525655429184,
价值:20.00
}, {
日期:1525655429184,
数值:3.99
}, {
日期:1526001029184,
价值:19.00
}, {
日期:1526001025184,
价值:4.30
}]
变量天数=[“太阳”、“周一”、“周二”、“周三”、“周四”、“周五”、“周六”];
var总和=[];
var daysSum=[];
var sumVal=days.forEach(函数(天){
var合计=0;
data.forEach(功能(项){
var d=新日期(items.Date);
var formattedD=days[d.getDay()];
如果(天===formattedD){
总计+=分析浮动(项目值);
}
})
总推力(总推力)
daysSum.push([天,总计])
})
console.log(天)
console.log(sumVals)

console.log(daysSum)//只是为了显示它是否匹配
请显示一些示例数据和您的输入和输出加法示例。这些值似乎是时间值,其中一个时间值可能代表不同时区中的不同日期。是否应将所有内容都视为UTC?或调整为某个特定时区?但日期可能因时间而异e时区,例如1525910400000是2018-05-10T00:00:00.000Z,这是一个星期四,但在纽约(UTC-4)现在仍然是星期三。这个答案解决了部分问题,因为可能有几十天或几百天的数据,而这个答案不会解决这个问题。@JosielFaleiros它实际上会在同一天对所有值进行求和。@SachiTekina是的,它会对按天分组的所有值进行求和,但数据可能有几十天或几百天,而这个答案对f无效或者,这就是我的情况,如果我没有解释清楚,对不起