Javascript -最新日期和最高优先级

Javascript - Latest date and highest priority

本文关键字:最高优先级 日期 最新 Javascript      更新时间:2023-09-26

如何识别具有最新日期和最高优先级设置的优先级元素

_同样,我正在构建一个同位素应用程序http://jsfiddle.net/CXqM2/178/

这里的键-是在更新数据之后。我想确定/选择的元素是a)最新的日期通知-所以最近- AND -有最低的通知id关联到它。

我有li元素与数据属性-看起来如下

<li class="isotope-item" data-user-notification-id="3" data-user-notification-date="24/03/2014 12:00:10">
test
</li>
  • 从dom中隐藏日期和通知id
  • 按最近日期排序
  • 然后循环这个直到我找到最低的数字?

这是通知id

的键
0 - user messaged
1 - user viewed your profile
2 - user just joined
3 - user come online

我同意Pio的评论,如果您可以在数据库中对其进行排序,请这样做。但是如果你真的需要在javascript中排序。使用排序方法

jsFiddle:http://jsfiddle.net/9GUQ3/3/

var stuff = $('ul li').sort(function (a, b)
     {
         var dateA = $(a).attr('data-user-notification-date').split(' ')[0];
         var dateB = $(b).attr('data-user-notification-date').split(' ')[0];
         var priA = $(a).attr('data-user-notification-id');
         var priB = $(b).attr('data-user-notification-id');
         var dString = dateA.split(' ')[0];
         var dA = new Date();
         dA.setYear(dString.split('/')[2]);
         dA.setMonth(parseInt(dString.split('/')[1])-1);
         dA.setDate(dString.split('/')[0]);
         dA.setHours(0);
         dA.setMinutes(0);
         dA.setMilliseconds(0);
         dA.setSeconds(0);
         var dString = dateB.split(' ')[0];
         var dB = new Date();
         dB.setYear(dString.split('/')[2]);
         dB.setMonth(parseInt(dString.split('/')[1])-1);
         dB.setDate(dString.split('/')[0]);
         dB.setHours(0);
         dB.setMinutes(0);
         dB.setMilliseconds(0);
         dB.setSeconds(0);
         if(dA.toUTCString() == dB.toUTCString())
         {
             return parseInt(priA) > parseInt(priB) ? 1 : -1;
         } else {
             return dA <= dB ? 1 : -1;
         }
     });
    $('ul').html(stuff);

值得注意的是,这并没有考虑到小时,分钟,秒或毫秒,以更好地展示它的工作