var jsonData = {data:{
2020:{// year
imgGroup:{
'03':{//문자열
......
}
상기와 같이 데이타가 세팅될 때..
2020, 2019, ... 와 같이 수치를 뽑고 싶다면,
for(year in jsonData.data){
console.log(year);
}
와 같이 하면 될까..? 답은 '안 된다'.
왜냐면, 2020 을 수치로 보고 오름차순으로 자동 정렬하기 때문.
그런데, 문자열로 인식하면 오름차순 정렬을 하지 않는다.
문자열로 인식하게 한다고 2020 이라고 세팅했던 것을,
'2020':{
와 같이 세팅하면 될까..? 답은 '안 된다'.
'문자열' 로 인식하게 하려면,
문자가 들어있거나
허용되는 특수문자 가 들어가 있거나,
'02', '01' 이런식으로 앞에 '0' 이 들어가도록 따옴표를 사용하거나..
그러나, 여기에서는 연도를 역순으로 하려는 것이므로,
상기와 같은 방법으로는 사용할 수 없다.
물론, '02020', '02019', .. 와 같이 세팅하고
앞의 문자를 삭제하거나 뒤에 있는 4개의 문자를 추출할 수도 있겠지만..
배열이라면 역으로 돌릴 수도 있겠으나,
특정 연도 아래에 있는 데이타를 배열로 찾는 것보다는..
key 로 등록하여 찾는 것이 빠르기도 하고 코드도 간단.
물론, 연도만 추출하는 것이라면, 연도를 배열에 담아 역으로 돌려도 되겠지만..
연도 안에 있는 데이타를 추출하여 활용하는 것이 주 목적이고,
연도를 역순으로 추출하는 것은 옵션이기 때문..
한참을 찾던 끝에..
아래와 같이 Object 를 reverse() 해서 forEach() 하면 해결.
Object.keys(jsonData.data).reverse().forEach(function(year){
console.log(year);
}
.fine.
'Local Oriented > jQuery' 카테고리의 다른 글
팝업전 눌렸던 항목의 잔상이 팝업에 나타나는 현상 없애기.. (0) | 2023.07.27 |
---|---|
[carouFredSel] 가변폭 요소들이 슬라이드 될 때 가운데 정렬하는 방법 (0) | 2020.11.06 |
웹화면의 특정 영역을 엑셀 파일로 저장할 때, a 링크 없애기 (0) | 2019.06.19 |
iOS 에서 화면 전환 자바스크립트가 실행되지 않는다면..? (0) | 2019.01.04 |
iframe 안에서 iframe 밖의 요소를 활용하는 방법 (0) | 2018.03.13 |