Trevor는 각 레코드에 시작 날짜와 종료 날짜가 포함 된 날짜 테이블에서 날짜의 글로벌 기간을 가져 오려고합니다.
데이터는 모두 JSON으로 인코딩되고 다음과 같이 구성됩니다.
```
dataroot {
"datedemo_data_table": [
{
"datebeg": "2014-01-15",
"dateend": "2014-02-15"
},
{
"datebeg": "2014-03-15",
"dateend": "2015-01-01"
},
{
"datebeg": "2015-06-15",
"dateend": "2015-07-20"
},
{
"datebeg": "2012-08-15",
"dateend": "2013-08-15"
},
{
"datebeg": "2013-01-15",
"dateend": "2013-01-16"
}
],
"datedemosummary_data_dict": {
"x": "x",
"ds_soonst_date": "",
"ds_latest_date": ""
}
}
```
목표는 ds_soonst_date
및 ds_latest_date
을 올바른 날짜 값 으로 채우는 것입니다 .
실제로이를 위해 순간 (또는 라이브러리)이 필요하지 않습니다. 값은 YYYY-MM-DD 형식이므로 문자열로 정렬 할 수 있습니다. 간단한 배열 / 객체 조작이 작동합니다.
var data = JSON.parse('{"datedemo_data_table":[{"datebeg":"2014-01-15","dateend":"2014-02-15"},{"datebeg":"2014-03-15","dateend":"2015-01-01"},{"datebeg":"2015-06-15","dateend":"2015-07-20"},{"datebeg":"2012-08-15","dateend":"2013-08-15"},{"datebeg":"2013-01-15","dateend":"2013-01-16"}],"datedemosummary_data_dict":{"x":"x","ds_soonst_date":"","ds_latest_date":""}}');
var firstBegDate = data.datedemo_data_table
.map(function(x){return x.datebeg;})
.sort().shift();
var lastEndDate = data.datedemo_data_table
.map(function(x){return x.dateend;})
.sort().pop();
성능에 관한 한-단일 JSON에 10,000 개의 항목이있는 경우 문제가 될 수 있습니다. 인덱스 를 사용 하여 시작할 데이터를 줄이지 않는 한 모든 접근 방식으로 항상 O (n) 성능을 갖 습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다