javascript - 如何在给定开始日期和结束日期之间的数组中添加缺失的数据条目

标签 javascript jquery

我有一个名为plot_data的数组。因为我有两个对象属性日期x和值y。这些日期实际上是过去的日期。在该数组中,多个位置的某个地方缺少一些日期。因此,无论错过什么日期,我都想将它们添加到数组中。

plot_data数组是这样的

0: {x: Fri Apr 06 2018 22:30:00 GMT-0500 (Central Daylight Time), y: 93.9}
1: {x: Sat Apr 07 2018 09:00:00 GMT-0500 (Central Daylight Time), y: 69.3}
2: {x: Tue Apr 10 2018 10:00:00 GMT-0500 (Central Daylight Time), y: 71.2}
3: {x: Wed Apr 11 2018 11:00:00 GMT-0500 (Central Daylight Time), y: 67.2}
4: {x: Sat Apr 14 2018 10:00:00 GMT-0500 (Central Daylight Time), y: 71.2}
5: {x: Sun Apr 15 2018 11:00:00 GMT-0500 (Central Daylight Time), y: 67.2}

我想要这样的数组输出。

0: {x: Fri Apr 06 2018 22:30:00 GMT-0500 (Central Daylight Time), y: 93.9}
1: {x: Sat Apr 07 2018 09:00:00 GMT-0500 (Central Daylight Time), y: 69.3}
2: {x: Sun Apr 08 2018 09:00:00 GMT-0500 (Central Daylight Time), y: null}
3: {x: Mon Apr 09 2018 09:00:00 GMT-0500 (Central Daylight Time), y: null}
4: {x: Tue Jun 10 2018 10:00:00 GMT-0500 (Central Daylight Time), y: 71.2}
5: {x: Wed Jun 11 2018 11:00:00 GMT-0500 (Central Daylight Time), y: 67.2}
6: {x: Thu Jun 12 2018 10:00:00 GMT-0500 (Central Daylight Time), y: null}
7: {x: Fri Jun 13 2018 11:00:00 GMT-0500 (Central Daylight Time), y: null}
8: {x: Sat Jun 14 2018 10:00:00 GMT-0500 (Central Daylight Time), y: 71.2}
9: {x: Sun Jun 15 2018 11:00:00 GMT-0500 (Central Daylight Time), y: 67.2}

我不知道如何做到这一点,因为我们必须考虑一个月内的日期数量。请帮忙。

最佳答案

只需添加 24 小时即可获得下一个日期,这样您就不必关心该月的日期。

我已经删除了时区,您可以根据您的要求进行设置。

let arr = [{x: 'Fri Apr 06 2018 22:30:00', y: 93.9},
{x: 'Sat Apr 07 2018 09:00:00', y: 69.3},
{x: 'Tue Apr 10 2018 10:00:00', y: 71.2},
{x: 'Wed Apr 11 2018 11:00:00', y: 67.2},
{x: 'Sat Apr 14 2018 10:00:00', y: 71.2},
{x: 'Sun Apr 15 2018 11:00:00', y: 67.2}]

let i=0;
while(i < arr.length-1) {
	let nextday = new Date(new Date(arr[i].x).getTime() + 24 * 60 * 60 * 1000);
	if(nextday.getDay() != (new Date(arr[i+1].x)).getDay()) {
		arr.splice(i+1, 0,  {x: nextday.toString(), y: null});
	};
        i++
}

console.log(arr)

关于javascript - 如何在给定开始日期和结束日期之间的数组中添加缺失的数据条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55572099/

相关文章:

javascript - 逻辑&&运算符

javascript - 无法在 ubuntu 16.04 中 move_uploaded_file() 并且无法 unlink() 权限被拒绝

javascript - Jquery 加载忽略对象而不是发布

javascript - 数组计数中的唯一值

javascript - 待完成的高亮区域

Javascript:如果用户请求,多次添加相同的表单

javascript - 更改嵌入 vlc 视频的目标

javascript - 我网站上的滚动到顶部按钮不起作用

javascript - 提交事件未捕获提交类型输入

javascript - jQuery:无法删除类