저는 date.js를 사용하여 날짜를 파싱 한 다음 date.js 메소드를 사용하여 해당 객체를 정렬하는 자바 스크립트 객체 배열을 작성하려고합니다. 다음은 두 가지 문제점을 설명하기 위해 정리 한 코드입니다.javascript date.js 파싱 및 객체 배열 정렬
문제 1 : date.js에서 구문 분석 할 수없는 날짜를 어떻게 무시하고 경고합니까? 문제 2 : 해당 날짜별로 개체 배열을 정렬하려면 어떻게합니까? (date.js 포함 또는 제외)
내 직감은 내가이 모든 것을 잘못하고 더 나은 방법이 있다고 말해줍니다. 아이디어?
은 리셀러 (VAR) 섹션에서 시간과 isotime을을 선언 고려 작은 것들의
<script type="text/javascript" src="depend/date.js"></script>
<script type="text/javascript">
var timedata = ["tomorrow", "today", "next thursday", "2012-08-02T04:00:00.000Z"]; // test data
var myArrayOfObjects = [];
//Iterate through the timedata array
for(var row = 0; row < timedata.length; row++){
var cleanrow = true;
// Here is the first problem, on the 2012-08-02T04:00:00.000Z string can't be parsed (Date.parse(timestr) returns 0)
// even though it was previously created with .toISOString method below as a test
// Error: Ignoring row 3, could not parse this date: 2012-08-02T04:00:00.000Z
if (Date.parse(timedata[row])){
time = Date.parse(timedata[row]);
isoTime = time.toISOString();
}else{
console.log("Ignoring row " + row + ", could not parse this date: " + timedata[row]);
cleanrow = false;
}
var xdata = "dummytestdata";
var weight = "dummytestdata";
if(cleanrow) {
myArrayOfObjects.push({x: xdata, xytime: isoTime, weight: weight});
}
}
// Here is the second problem.
// Error: TypeError: Date.parse(a.xytime) is null
myArrayOfObjects = myArrayOfObjects.sort(function(a,b){ return Date.parse(a.xytime).compareTo(Date.parse(b.xytime)); });
// Show that the objects are sorted by dates
for(var row = 0; row < myArrayOfObjects.length; row++) {
console.log(myArrayOfObjects[row].xytime);
}
</script>