javascript - 如何在包含日期范围的数组中填充日期?

标签 javascript momentjs

我有一个包含计数值的日期数组。例如

[
  {
    "date": "2014-11-11T08:00:00.000Z",
    "count": 8
  },
  {
    "date": "2014-11-13T08:00:00.000Z",
    "count": 4
  }
  {
    "date": "2014-11-16T08:00:00.000Z",
    "count": 4
  }
]

如何用 count = 0 填充缺失的日期,以在 javascript 中生成以下内容:

[
  {
    "date": "2014-11-11T08:00:00.000Z",
    "count": 8
  },
  {
    "date": "2014-11-12T08:00:00.000Z",
    "count": 0
  },
  {
    "date": "2014-11-13T08:00:00.000Z",
    "count": 4
  },
  ...
]

最佳答案

因为您似乎正在使用 momentjs

首先想到的是使用moment().add(number,units)moment().diff(input,units,asFloat)

类似的东西

var data = [
  {
    "date": "2014-11-11T08:00:00.000Z",
    "count": 8
  }, {
    "date": "2014-11-16T08:00:00.000Z",
    "count": 4
  }
];

var startDate = moment(data[0].date);
var endDate = moment(data[1].date);

var days = endDate.diff(startDate, 'd', false);
alert(days);
for (var i = 1; i < days; i++) {
  data.splice(i,0, {"date" : startDate.add(1, 'd').toISOString(), 'count': 0  })
}


for (var i = 0; i < data.length; i++) {
 alert(data[i].date);
}
<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.8.3/moment.min.js"></script>

关于javascript - 如何在包含日期范围的数组中填充日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26519194/

相关文章:

javascript - 我可以使用 javascript :this. child.src 作为链接的 href 吗?

javascript - 在 React Router v4 中的嵌套交换机之间移动

javascript - 如何通过jquery click函数从不同的输入框获取当前数值

javascript - JQuery 中的隐藏表单

javascript - angularjs时刻解析格式

javascript - Moment.js 格式化

javascript - 为 twitter bootstrap 加载掩码插件

javascript - Uncaught ReferenceError : angular is not defined at angular-moment. js

javascript - moment-timezone 解析给定的时区