简体   繁体   中英

javascript array find nearest date with current date + dayscounter

Please hlp me i have to find nearest date from below objects, nearest date would come as compare to system date + dayscounter.

please help it would be great help for me. here is jsFiddle link: 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);

How about something like:

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); 
});

Then your closes date should be dates[0] ;

See: http://jsfiddle.net/g8ezcoz7/

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM