퍼블리싱에서 자체적으로 약관 정보를 객체로 받아와
뿌릴 수 있는 소스를 짜보려다가 (별 건 아니지만) 알게 된 걸 기록하려 한다.
let termList = [{
prdCode: {
criticalAgr: { /** 필수약관 **/
state: termStateData.criticalAgr.termState
, text: termStateata.criticalAgr.termText
, GROUP: [{
GRP0: {
GRP_NAME: groupName.PMDS
, GRP_CONTENT: {
DEPT1_AGR: ['944', '945', '946'],
}
},
GRP1: {
GRP_NAME: groupName.APCU
, GRP_CONTENT: {
DEPT1_AGR: ['811', '812', '813', '814'],
}
}
}]
}
, optionalAgr: { /** 선택약관 **/
state: termStateData.optionalAgr.termState
, text: termStateData.optionalAgr.termText
, GRP0: {
GRP_NAME: groupName.SIWS
, GRP_CONTENT: {
AGR_CODE: '100' //단건
}
}
}
}
}];
일단 이게 내가 적어둔 약관 리스트 변수 소스였다.
(중간중간 정체 모를 key나 value값들은 무시하도록 하자. 중요하지 않다.)
termList는 배열로,
해당 배열 안에 들어있는 key값(prdCode)에 접근하고 싶으면 termList[0] <= 이런 식으로 내가 직접 써서 접근을 해야했다..
근데 나는 이게 너무 싫어서(ㅋㅋㅋ)
최대한 for문 안에서 돌리고 싶은 마음에 객체의 키값에 접근하는 방법을 찾아봤다.
Object.keys(obj);
//여기서 obj는 내 소스로 따지면 'termList'
이렇게 선언하면 접근할 수 있다고 한다.
정확히 어떻게 접근해야 내가 원하는 정보를 얻어낼 수 있을지 궁금해서 여러 가지를 콘솔로 찍어봤는데
console.log(Object.keys(termList[0].prdCode)); // (2) ["criticalAgr", "optionalAgr"]
console.log(Object.keys(termList[0].prdCode).length); // 2
console.log(Object.keys(termList[0])); // ["uuc"]
console.log(Object.keys(termList)); // ["0"]
각각의 코드별로 위와 같은 값을 얻어냈다.
내가 놀란 것은,
객체 안의 정보에만 접근할 수 있다고 생각했는데
Object.keys(termList) 를 콘솔로 찍어보았을 때, 배열의 순서(0) 값을 반환해냈다는 것이다.
배열도 결국엔 커다란 객체의 형태를 가지고 있는 건가, 싶어지면서 여러 가지 방법으로 안에 들어있는 정보에 접근할 수 있는 방법을 알게 돼서 기뻤다. ㅎㅎㅎ
그래서 후다닥 기록하러 옴..
'📁 Language > 🟨 Javascript' 카테고리의 다른 글
[jQuery] focus 이동 (0) | 2024.08.29 |
---|---|
[jQuery] 숫자 증가 애니메이션 (0) | 2024.08.29 |
[Javascript] 1000단위 ',' 표기 함수 (0) | 2024.08.29 |
[Javascript] 금액 단위 한글 변환 함수 (0) | 2024.08.29 |
[JavaScript] this와 $(this)의 차이점 (0) | 2021.08.01 |