Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript에서 연도와 월이 있는 문자열 배열 정렬

<시간/>

다음과 같은 월-연도 결합 문자열을 포함하는 문자열 배열이 있다고 가정합니다. -

const arr =["2009년 2월", "2009년 1월", "2010년 3월", "2010년 1월", "2011년 7월","2011년 9월", "2011년 1월", " 2012-1월", "2012-12월", "2012-2월", "2013-5월","2013-7월", "2013-6월", "2014-1월", "2014-12월", "2014- 5월", "2015년 5월", "2015년 1월", "2015년 6월", "2016년 1월", "2016년 12월"];

우리는 그러한 배열 중 하나를 가져와 가장 오래된 순서로 날짜를 정렬하는 JavaScript 함수를 작성해야 합니다.

예시

이에 대한 코드는 -

const arr =["2009년 2월", "2009년 1월", "2010년 3월", "2010년 1월", "2011년 7월","2011년 9월", "2011년 1월", " 2012-1월", "2012-12월", "2012-2월", "2013-5월","2013-7월", "2013-6월", "2014-1월", "2014-12월", "2014- 5월", "2015년 5월","2015년 1월", "2015년 6월", "2016년 1월", "2016년 12월"]; const 분류기 =(a, b) => { const getDate =날짜 => { 요일 =date.split('-'); 일[1] ={ 1월:1, 2월:2, 3월:3, 4월:4, 5월:5, 6월:6, 7월:7, 8월:8, 9월:9, 10월:10, 11월:11, 12월:12 } [일[1] .substring(0, 3) .toLowerCase()] || 0; 귀국일; } const aDate =getDate(a); const bDate =getDate(b); 반환 날짜[0] - b날짜[0] || 날짜[1] - bDate[1];}arr.sort(sorter);console.log(arr);

출력

콘솔의 출력은 -

<이전>[ '2009년 1월', '2009년 2월', '2010년 1월', '2010년 3월', '2011년 1월', '2011년 7월', '2011년 9월', '2012년 1월' ', '2012-2월', '2012-12월', '2013-5월', '2013-6월', '2013-7월', '2014-1월', '2014-5월', '2014-12월', '2015년 1월', '2015년 5월', '2015년 6월', '2016년 1월', '2016년 12월']