본문 바로가기

Frontend/jQuery & JSTL

12/07 회고

반응형

JSON데이터 재가공

이미 JSON데이터는 API명세서로 고정되어 수정이 불가능한데 컬럼데이터가 한번 더 불러와져야 하는 상황이 생김

JSON데이터를 재가공하는 방법을 찾아냄

...
// 각 시도별로 그룹핑
let sigunguData = allDatas2;
const groupedData = {};
sigunguData.features.forEach(feature => {
	const sidoName = feature.properties.SIDO_KOR_NAME;
	if (!groupedData[sidoName]) {
		groupedData[sidoName] = {
			sidoOldRate: feature.properties.OLD_RATE,
			data: []
		};
	}
	groupedData[sidoName].data.push(feature);
});

// 시도 그룹에 대해 처리
for (const sidoName in groupedData) {
	const sidoGroup = groupedData[sidoName];
	sidoGroup.data.forEach(feature => {
		// 시도에 대한 OLD_RATE 값을 가져와 SIDO_OLD_RATE로 추가
		feature.properties.SIDO_OLD_RATE = sidoGroup.sidoOldRate;
	});
};
...

 

var sigunguData = [];
               		for (let i = 0; i < allDatas2.features.length; i++) {
               		    const properties = allDatas2.features[i].properties;
               		    const SIDO_KOR_NAME = properties.SIDO_KOR_NAME;
               		    const SIGUNGU_KOR_NAME = properties.SIGUNGU_KOR_NAME;
               		    const PEOPLE = properties.PEOPLE;

               		    if (SIDO_KOR_NAME === '세종특별자치시' && PEOPLE !== 0) {
               		        sigunguData.push(allDatas2.features[i]);
               		    }
               		    else if (['고양시', '성남시', '수원시', '안산시', '안양시', '포항시', '청주시', '전주시', '마산시', '부천시', '용인시', '창원시', '천안시'].includes(SIGUNGU_KOR_NAME)) {
               		    }
               		    else if (SIDO_KOR_NAME !== SIGUNGU_KOR_NAME && PEOPLE !== 0) {
               		        sigunguData.push(allDatas2.features[i]);
               		    }
               		}
               		/* const ignoredCities = ['고양시', '성남시', '수원시', '안산시', '안양시', '포항시', '청주시', '전주시', '마산시', '부천시', '용인시', '창원시'];

               		for (let i = 0; i < allDatas2.features.length; i++) {
               		    const properties = allDatas2.features[i].properties;
               		    const SIDO_KOR_NAME = properties.SIDO_KOR_NAME;
               		    const SIGUNGU_KOR_NAME = properties.SIGUNGU_KOR_NAME;
               		    const PEOPLE = properties.PEOPLE;

               		    if (SIDO_KOR_NAME === '세종특별자치시' && PEOPLE !== 0) {
               		        sigunguData.push(allDatas2.features[i]);
               		    } else if (ignoredCities.some(city => SIGUNGU_KOR_NAME.startsWith(city)) {

               		    } else if (SIDO_KOR_NAME !== SIGUNGU_KOR_NAME && PEOPLE !== 0) {
               		        sigunguData.push(allDatas2.features[i]);
               		    }
               		} */
반응형

'Frontend > jQuery & JSTL' 카테고리의 다른 글

01/02 회고  (0) 2024.01.03
12/21 회고  (0) 2023.12.21
12/05 회고  (0) 2023.12.05
[JSTL] 페이지 작업  (0) 2023.11.22
[jQuery] tab관리 작업  (0) 2023.11.17