假如后台返回的arr=[0812,0819,0829,0929];
数组的每一项代表一个日期。
今天是0831,怎么判断得出距离今天最近的一天是数组的哪一项?下标怎么获取出来?
这里指的最近的一天是指距离当天时间绝对的天数,比如说有两个数据分别是0829,0901,那离今天(0831)最近的就是0901了。
哈哈,觉得自己好啰嗦,毕竟还是想把需求说清楚。
希望各位大佬解答一下!!!
不胜感激!!!
补充一下,后台返回的数据长这个样子:
解决方案
var timeArr = ['2017-07-10T07:00:00.00Z', '2017-08-15T07:00:00.00Z', '2017-07-12T07:00:00.00Z', '2017-07-15T07:00:00.00Z', '2017-07-15T07:00:00.00Z', '2017-09-02T07:00:00.00Z' ]; var timestamp = Date.now(); var min; var index = 0; timeArr.forEach(function(item, i) { var itemStamp = new Date(item).getTime(); var interVal = Math.abs(timestamp - itemStamp); if (min == void 0) { min = interVal } else { if (min > interVal) { min = interVal; index = i; } } }) console.log(index);