Как упорядочивать даты в Array с Underscore.js?

У меня есть Array дат, эти все в MomentJs, я хочу смочь приказывать несовершеннолетнего в больший, ты подпираешь я использую Underscore.js и думаю, что оно могло бы функционировать с _.sortBy но мне не удается проанализировать распоряжение:

available: false
from: m
  _d: Wed Dec 23 2015 09:00:00 GMT-0300 (Hora est. Sudamérica Pacífico)
  _f: "YYYY-MM-DDTHH:mm:ss"
  _i: "2015-12-23T08:00:00"
  _isAMomentObject: true
  _isUTC: false
  _locale: q
  _pf: Object
  __proto__: m
time: "09:00"
until: m
  _d: Wed Dec 23 2015 09:14:00 GMT-0300 (Hora est. Sudamérica Pacífico)
  _f: "YYYY-MM-DDTHH:mm:ss"
  _i: "2015-12-23T08:00:00"
  _isAMomentObject: true
  _isUTC: false
  _locale: q
  _pf: Object

4
задан 24.12.2015, 10:26
4 ответа

Чтобы упорядочивать их ты можешь использовать метод getTime, это гарантирует правильное сравнение между элементами договоренности:

// Con Underscore.js
var sortDates = function(array){
    return _.sortBy(array, function(date){
        return date.getTime(); // Si es una fecha de Moment.js puedes usar .valueOf()
    });
};

var result = sortDates(arreglo);

Если ты используешь единственный язык сценариев JavaScript, ты можешь использовать метод sort

arreglo.sort(function(a, b) {
  return a.getTime() - b.getTime();
});

Ощутись, что в случае Underscore.js первоначальная договоренность не изменяется, но получается новая договоренность, в отличие от использования единственного языка сценариев JavaScript.

Ты можешь видеть demo в JSFiddle

4
ответ дан 24.11.2019, 15:02

У этой формы есть точность до миллисекунд.

var ordenadas = _.sortBy(fechas, function(m) { 
   return m.toDate().getTime();
});

Помнит, что _.sortBy, всегда упорядочивает восходящей формы. Если ты нуждаешься в датах нисходящей формы deberГ-эксперт использовать. reverse().

var descendente = ordenadas.reverse();

AquГ - оставил тебе пример функционируя, ты должен открывать консоль (F12), чтобы видеть результаты.

var fechas = [moment("2014-10-01T00:10:12.233Z"),
              moment("2014-09-01T00:10:12.232Z"),
              moment("2015-08-01T00:10:12.234Z"),
              moment("2013-07-01T00:10:12.231Z")];

var ordenadas = _.sortBy(fechas, function(m) { 
   return m.toDate().getTime();
});

for(var i = 0; i < ordenadas.length; i++) {
  console.log(ordenadas[i].format());
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.6/moment.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script>
1
ответ дан 24.11.2019, 15:02

привет ты можешь форматировать и использовать ее funciГіn sort javascript или та же самая librerГ - в momentjs, чтобы манипулировать условием is-before из распоряжения sortBy underscore

0
ответ дан 24.11.2019, 15:02

После анализируя хорошо я смог прибывать в этот результат.

orderArray = _.sortBy(array, function (trip) {
       return moment(trip.from);
      });

таким образом даты, содержавшие в trip.from способны быть аккуратными.

0
ответ дан 24.11.2019, 15:02

Теги

Похожие вопросы