2014-10-07 4 views
0

Пожалуйста, hlp me мне нужно найти ближайшую дату из-под предметов, ближайшая дата придет по сравнению с системной датой + dayscounter.javascript array найти ближайшую дату с текущей датой + dayscounter

, пожалуйста, помогите мне, это будет большой помощью для меня. здесь jsFiddle ссылка: http://jsfiddle.net/g7rsp4b2/1/

<div class="component" data-datejson='{"success":{"yrdateslist":["October 10,2014","October 18,2014","October 22,2014","October 09,2014","October 21,2014","October 22,2014"],"dayscounter":"8"}}' id="onCampusDate"> 

</div> 

var allDates = $('.component').data('datejson'); 
var dates = allDates.success.yrdateslist; 
var dayscounter = allDates.success.dayscounter; 
var now = new Date(); 
var newDates = []; 
for (var i = 0; i < dates.length; i++) { 
    newDates.push(dates[i]); 
} 

alert(newDates); 
alert(now); 

ответ

0

Как о чем-то вроде:

var allDates = $('.component').data('datejson'); 
var dates = allDates.success.yrdateslist; 
var dayscounter = allDates.success.dayscounter; 
var now = new Date(); 

//Add the days counter to now 
now.setDate(now.getDate() + dayscounter); 

//This is the key -> Sort by the difference in time 
dates.sort(function(a,b){ 
    var nowTime = now.getTime(), 
     atime = Math.abs(atime - nowTime), 
     btime = Math.abs(btime- nowTime); 

    return Math.abs(atime - btime); 
}); 

Тогда ваша дата закрывается должна быть dates[0];

Факс: http://jsfiddle.net/g8ezcoz7/

Смежные вопросы