Programing/javascript

자바스크립트 실무 유틸 함수 시리즈 12 - 배열 고차 함수(map, filter, reduce)

2025. 5. 1. 08:19
반응형

이번 12편에서는 자바스크립트의 대표적인 고차 함수인 map, filter, reduce를 실무에서 효과적으로 활용할 수 있는 고급 유틸 함수 패턴으로 정리합니다. 단순한 예제를 넘어서 실질적인 데이터 가공과 응용 중심으로 구성했습니다.


✅ 1. map 활용 심화

📌 배열 객체의 속성 가공

const users = [
  { name: 'Alice', age: 28 },
  { name: 'Bob', age: 34 }
];

const names = users.map(user => user.name);
// 결과: ["Alice", "Bob"]

📌 실무 예시

  • 데이터 API 응답에서 특정 필드만 추출
  • UI 렌더링용 데이터 포맷 변경

✅ 2. filter 활용 심화

📌 조건에 맞는 데이터 필터링

const products = [
  { name: 'A', price: 100 },
  { name: 'B', price: 0 }
];

const available = products.filter(p => p.price > 0);
// 결과: [{ name: 'A', price: 100 }]

📌 실무 예시

  • 유효한 데이터만 남기기
  • 특정 권한 이상인 사용자 필터링

✅ 3. reduce 활용 심화

📌 총합 계산

const prices = [100, 200, 300];
const total = prices.reduce((sum, p) => sum + p, 0);
// 결과: 600

📌 배열 → 객체 변환

const entries = [ ['a', 1], ['b', 2] ];
const obj = entries.reduce((acc, [key, value]) => {
  acc[key] = value;
  return acc;
}, {});
// 결과: { a: 1, b: 2 }

📌 실무 예시

  • 금액 합계, 평균 계산
  • 배열 데이터를 키-값 형태로 재구성

✅ 4. 고차 함수 조합 예제

📌 filter + map + reduce 조합

const orders = [
  { price: 100, status: 'done' },
  { price: 150, status: 'pending' },
  { price: 200, status: 'done' }
];

const doneTotal = orders
  .filter(o => o.status === 'done')
  .map(o => o.price)
  .reduce((sum, price) => sum + price, 0);
// 결과: 300

📌 실무 예시

  • 조건부 집계 처리
  • 화면 표시용 요약 데이터 생성

✅ 결론

map, filter, reduce는 자바스크립트에서 배열 데이터를 처리하는 가장 기본이자 강력한 도구입니다. 이번 시리즈에서는 실무에서 자주 쓰이는 형태와 조합 패턴들을 통해 실전 활용 능력을 높이는 데 초점을 맞췄습니다.

 

반응형

'Programing > javascript' 카테고리의 다른 글

자바스크립트 실무 유틸 함수 시리즈 16 - HTML 요소 조작을 위한 유틸  (0) 2025.05.01
자바스크립트 실무 유틸 함수 시리즈 15 - 폼 입력 검증을 위한 유틸  (1) 2025.05.01
자바스크립트 실무 유틸 함수 시리즈 14 - 반응형 UI 구현을 위한 유틸  (0) 2025.05.01
자바스크립트 실무 유틸 함수 시리즈 13 - 프론트엔드 성능 측정을 위한 간단한 유틸  (0) 2025.05.01
자바스크립트 실무 유틸 함수 시리즈 11 - 비동기 처리 및 Promise 관련  (0) 2025.04.29
자바스크립트 실무 유틸 함수 시리즈 10 - 함수형 프로그래밍(FP) 스타일  (0) 2025.04.29
자바스크립트 실무 유틸 함수 시리즈 9 - Object 객체 고급 조작  (0) 2025.04.29
자바스크립트 실무 유틸 함수 시리즈 8 - 배열 고급 조작  (0) 2025.04.29
'Programing/javascript' 카테고리의 다른 글
  • 자바스크립트 실무 유틸 함수 시리즈 14 - 반응형 UI 구현을 위한 유틸
  • 자바스크립트 실무 유틸 함수 시리즈 13 - 프론트엔드 성능 측정을 위한 간단한 유틸
  • 자바스크립트 실무 유틸 함수 시리즈 11 - 비동기 처리 및 Promise 관련
  • 자바스크립트 실무 유틸 함수 시리즈 10 - 함수형 프로그래밍(FP) 스타일
Dongkkase
Dongkkase
개발자로 일하면서 부딪히는 문제풀이가 누군가에게 도움이 되길 바라며
    반응형
  • Dongkkase
    정집사의 개발로그
    Dongkkase
  • 전체
    오늘
    어제
    • All (478)
      • 금융 (61)
      • Programing (295)
        • Algorithm (39)
        • API (2)
        • javascript (122)
        • CSS (8)
        • HTML (10)
        • PHP (15)
        • JAVA (27)
        • JSP (17)
        • JSP 예제 (1)
        • IOS (1)
        • Android (1)
        • Sencha Touche (1)
        • bat file, cmd (0)
        • 디버깅 (2)
        • SQL (21)
        • MS-SQL (1)
        • MySQL (13)
        • 보안 (5)
      • Server (14)
        • Docker (1)
        • Windows (9)
        • Linux (3)
        • jeus (1)
      • Database (6)
      • IT 일반 (15)
      • 리뷰 (38)
        • Book (17)
        • 제품 (2)
        • 영화 소개 (11)
        • 음악 소개 (7)
      • 잡생각 (36)
        • 회고 (3)
        • 컬럼 (4)
        • 자료실 (6)
        • 낙서장 (12)
        • 위시리스트 (2)
        • WOW (1)
        • 덕 (1)
  • 인기 글

  • 최근 댓글

  • 태그

    사고 싶은 책
    자바스크립트유틸
    jsp
    자바
    읽고 싶은 책
    위시리스트
    Java
    SQL
    디자인패턴
    js패턴
    iT's MY LiFE
    블로그
    JavaScript
    IT 관련
    IT블로그
    php
    IT·컴퓨터
    기초
    자바스크립트
    It
Dongkkase
자바스크립트 실무 유틸 함수 시리즈 12 - 배열 고차 함수(map, filter, reduce)
상단으로

티스토리툴바