JavaScript 난관 코드 패트 2 요약
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
웹 개발
대상자
자바스크립트 개발자, 배열 조작 및 객체 탐색 기술 필요자
핵심 요약
- 중첩 객체에서 나이가 30 이상인 사용자 찾기
Object.keys()
와 재귀를 이용한 깊은 객체 탐색- 다중 레벨 배열 평탄화 기법
Array.prototype.flat(Infinity)
사용- 재귀 +
reduce()
또는for loop
활용 - 구현 예시
Array.isArray()
,concat()
,reduce()
등 핵심 메서드 활용
섹션별 세부 요약
1. 중첩 객체에서 나이 조건 충족 사용자 추출
Object.keys()
로 객체 키 추출 후 재귀 탐색age > 30
조건에 맞는 사용자 이름 필터링- 예시:
Object.keys(data).forEach(key => ...)
2. 배열 평탄화 방법 4가지
- flat() 메서드
arr.flat()
→ 단일 레벨 평탄화arr.flat(Infinity)
→ 다중 레벨 평탄화- 재귀 + for loop
```javascript
function flattenArray(arr) {
let result = [];
arr.forEach(item => {
if (Array.isArray(item)) {
result = result.concat(flattenArray(item));
} else {
result.push(item);
}
});
return result;
}
```
- 재귀 + reduce
```javascript
function flattenArray(arr) {
return arr.reduce((acc, val) => acc.concat(Array.isArray(val) ? flattenArray(val) : val), []);
}
```
결론
- 배열 평탄화 시
flat(Infinity)
로 간단히 해결 가능 - 중첩 객체 탐색 시
Object.keys()
+ 재귀 활용 권장 Array.isArray()
와concat()
/reduce()
메서드는 핵심 도구로 활용 필수