JavaScript Tricky Code: Nested Objects & Array Flattening Te
AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

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() 메서드는 핵심 도구로 활용 필수