Skip to content

3주차 과제 완료 - 도서 데이터 처리 시스템#2

Open
hyojeong21 wants to merge 1 commit into
LIKELION-HALLYM:mainfrom
hyojeong21:main
Open

3주차 과제 완료 - 도서 데이터 처리 시스템#2
hyojeong21 wants to merge 1 commit into
LIKELION-HALLYM:mainfrom
hyojeong21:main

Conversation

@hyojeong21

Copy link
Copy Markdown

도서 데이터 처리 시스템 과제 제출

과제 내용

JavaScript 심화 과제 - 도서 데이터 처리 시스템 구현

구현한 함수

PART 1. 배열과 배열 메서드

  • getTitlesByCategory() - 카테고리별 책 제목 추출
  • getTotalPriceAbove() - 가격 합계 계산
  • isAllSameCategory() - 동일 카테고리 여부 확인

PART 2. 구조 분해 할당

  • formatBookLabel() - 도서 라벨 포맷
  • splitFirstAndRest() - 첫 번째 책과 나머지 분리
  • omitPrice() - 가격 필드 제거

PART 3. Map과 Set

  • groupByCategory() - 카테고리별 그룹화 (Map)
  • intersection() - 두 배열의 교집합
  • unique() - 중복 제거

PART 4. Object 유틸

  • getOutOfStock() - 재고 없는 책 목록
  • getTotalStock() - 전체 재고 합산
  • removeNullish() - null/undefined 키 제거

PART 5. 배열 메서드 심화 ★

  • getAvgPriceByCategory() - 카테고리별 평균 가격
  • sortBy() - 특정 키 기준 정렬
  • flattenCategories() - 중첩 카테고리 평탄화

PART 6. 이터러블 & 페이지네이션 ★★

  • createBookIterator() - 이터레이터 생성
  • paginate() - 페이지네이션 처리

셀프 체크리스트

  • npm test를 실행하여 모든 테스트가 통과하는지 확인했습니다.
  • for 반복문 대신 배열 메서드(filter, map, reduce 등)를 사용했습니다.
  • 원본 배열 또는 객체를 직접 수정하지 않았습니다.
  • module.exports 블록을 수정하지 않았습니다.
  • 함수 이름이 역할을 명확히 드러냅니다.
  • 불필요한 console.log가 남아 있지 않습니다.
  • 코드가 가독성 있고 잘 구성되어 있습니다.

🔗 관련 파일

  • index.js - 메인 구현 파일
  • index.test.js - Jest 테스트 파일

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant