рдкрд▓ рдХреА рд╡рд╕реНрддреБрдУрдВ рдХреА рд╕реВрдЪреА рдХреЛ рдЫрд╛рдВрдЯрддреЗ рд╕рдордп (рдпрд╛ рдРрд╕реА рд╡рд╕реНрддреБрдПрдВ рдЬрд┐рдирдореЗрдВ рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ рдПрдХ рдХреНрд╖рдг рд╣реЛрддреА рд╣реИ, рдФрд░ рд╕реЙрд░реНрдЯ рдХреБрдВрдЬреА рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП), рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдХреЛрдИ рддреБрд▓рдирд╛ рдлрд╝рдВрдХреНрд╢рди рд╢рд╛рдорд┐рд▓ рд╣реЛред рддрд╛рдХрд┐ рд╣рдо рдЗрд╕ рддрд░рд╣ рдХреЗ рдХрд╛рдо рдХрд░ рд╕рдХреЗрдВ:
array.sort(m.compare)
moment#valueOf
рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдХрд╛рд░рдг, рддреБрд▓рдирд╛ рдлрд╝рдВрдХреНрд╢рди рддреБрдЪреНрдЫ рд╣реИред
var array = [
moment(),
moment().add(1, 'd'),
moment().subtract(1, 'd')
];
console.log(array.map(function (m) {
return m.format('YYYY-MM-DD')
}));
// ["2014-02-24", "2014-02-25", "2014-02-23"]
array.sort(function (a, b) {
return a - b;
});
console.log(array.map(function (m) {
return m.format('YYYY-MM-DD')
}));
// ["2014-02-23", "2014-02-24", "2014-02-25"]
рдзрдиреНрдпрд╡рд╛рджред
рдореИрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ moment#valueOf
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде, рдпрд╣ рдЙрддрдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИред рдЯрд╛рдЗрдкрд┐рдВрдЧ рдЖрдкрдХреЛ a - b
рдХрд╣рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддреА рд╣реИред
рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдореИрдВ рдмрд╕ рдХреБрдЫ рдРрд╕рд╛ рдХрд╣рддрд╛ рд╣реВрдВ:
a.isBefore(b) ? -1 : 1
рдпрдХреАрди рдирд╣реАрдВ рд╣реЛрддрд╛ рдХрд┐ рдореБрдЭреЗ рд╡рд╣ 1 рдФрд░ -1 рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдорд┐рд▓рд╛ рд╣реИред
рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде, рдпрд╣ рдЙрддрдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИред рдЯрд╛рдЗрдкрд┐рдВрдЧ рдЖрдкрдХреЛ a - b рдХрд╣рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддреА рд╣реИред
рдЖрдк рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХреНрд╖рдг#valueOf рдХреЛ a.valueOf() - b.valueOf()
рд░реВрдк рдореЗрдВ рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдореИрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрдВрд╢рд┐рдХ рд╣реВрдВ:
momentsArray.sort((a, b) => a.diff(b));
рдЦреБрджред
@robertmassaioli рдЕрдкрдиреЗ рдХреЛрдб рд╕реЗ рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВ,
a.isBefore(b) ? -1 : 1
рдпрджрд┐ a рд╕рдорд╛рди рд╣реИ, рддреЛ рд╡рд╣ рдЙрдиреНрд╣реЗрдВ рдпрдерд╛рд╡рдд рд░рдЦрдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЙрдирдХреА рдЕрджрд▓рд╛-рдмрджрд▓реА рдХрд░реЗрдЧрд╛ред рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЬреНрдпрд╛рджрд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛, рд▓реЗрдХрд┐рди рдХреБрдЫ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
moment#valueOf
рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдХрд╛рд░рдг, рддреБрд▓рдирд╛ рдлрд╝рдВрдХреНрд╢рди рддреБрдЪреНрдЫ рд╣реИред