Moment: ์ •๋ ฌ ๋น„๊ต ๊ธฐ๋Šฅ

์— ๋งŒ๋“  2014๋…„ 02์›” 25์ผ  ยท  6์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: moment/moment

๋ชจ๋ฉ˜ํŠธ ๊ฐ์ฒด(๋˜๋Š” ๋ชจ๋ฉ˜ํŠธ ์†์„ฑ์ด ์žˆ๊ณ  ์ •๋ ฌ ํ‚ค์—ฌ์•ผ ํ•˜๋Š” ๊ฐ์ฒด) ๋ชฉ๋ก์„ ์ •๋ ฌํ•  ๋•Œ ๋น„๊ต ๊ธฐ๋Šฅ์ด ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉด ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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"]

๋ชจ๋“  6 ๋Œ“๊ธ€

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 ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์—ˆ๋Š”๋ฐ ๊ทธ๋Ÿด ํ•„์š”๊ฐ€ ์—†๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

typescript๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ด๊ฒƒ์€ ๊ทธ๋ ‡๊ฒŒ ๊ฐ„๋‹จํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํƒ€์ดํ•‘์œผ๋กœ๋Š” a - b ๋ผ๊ณ  ๋งํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๋Œ€์‹  ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋งํ•ฉ๋‹ˆ๋‹ค.

a.isBefore(b) ? -1 : 1

๋‚ด๊ฐ€ ๊ทธ 1๊ณผ -1์„ ์˜ฌ๋ฐ”๋ฅธ ๋ฐฉ๋ฒ•์œผ๋กœ ์–ป์—ˆ๋Š”์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

typescript๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ด๊ฒƒ์€ ๊ทธ๋ ‡๊ฒŒ ๊ฐ„๋‹จํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํƒ€์ดํ•‘์—์„œ๋Š” - b๋ฅผ ๋งํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

a.valueOf() - b.valueOf() ๋กœ moment#valueOf๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ๋ถ€๋ถ„์ ์ด๋‹ค:

momentsArray.sort((a, b) => a.diff(b));

๋‚ด ์ž์‹ .

@robertmassaioli ์ฝ”๋“œ์— ์ฃผ์˜ํ•˜์„ธ์š”.

a.isBefore(b) ? -1 : 1

๋™์ผํ•˜๋ฉด ์ œ์ž๋ฆฌ์— ์œ ์ง€ํ•˜๋Š” ๋Œ€์‹  ๊ตํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๋ณ„ ๊ฒƒ ์•„๋‹Œ ๊ฒƒ ๊ฐ™์ง€๋งŒ ๋ˆ„๊ตฐ๊ฐ€์—๊ฒŒ๋Š” ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ์ผ์ด ๋  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰