자바스크립트 Iterator Method

(2021-04-19)

map(), filter(), reduce()

1. 배열 내 요소 마다 메소드를 반복 적용 (Iterator Method)

  ㅇ forEach(콜백함수) : 배열 내 각 요소를 순서대로 처리
     - 배열 내 각 요소 마다 지정된 콜백함수를 실행
        . 매개변수로 전달 받은 콜백함수를, 배열 내 각 요소 마다 각각 적용
     - 배열의 각 요소 값을 차례로 꺼내어, 콜백함수인수로 넘기기를 반복함
        . 콜백함수로의 전달 인수 셋은, 
           .. (현재 요소값 [, 현재 인덱스 번호 [, 배열명]])
           .. 例) (eachValue, index, arrayName)
     - 반환 상의 특징
        . 반환 값 없음
        . 콜백함수에서, 원본 배열 자체를 변경시킬 수 있음

  ㅇ map(콜백함수) : 배열 내 각 요소를 순서대로 처리후, 처리 결과를 새 배열로 반환
     - 위 forEach와 매우 유사
     - 형식 : array.map( (element [, index [, array]]) => { return element_processed; } );
        . 배열 array 내 각 요소별로 처리하되, 새로운 결과 배열을 반환
        . 例) array.map( x => 2 * x ); // 각 요소에 2의 배수를 한 배열을 반환
     - 반환 상의 특징
        . 새 배열을 출력하면서, 
        . 같은 크기(size,length)이지만,
        . 개별 요소 내용은 변경 가능

  ㅇ filter(콜백함수) : 배열 내 각 요소를 순서대로 처리후, 필터링된 새 배열 반환
     - 배열 요소들 중 필요한 것 만 걸러내고 남겨진 결과를, 새로운 배열로 반환
        . 例) array.filter( x => x % 2 ); // 각 요소들이 모두 홀수인 새 배열을 반환
     - 반환 상의 특징
        . 새 배열을 출력하면서, 
        . 그 크기(size,length)가 변동될 수 있지만, 
        . 필터링된 개별 요소 내용 및 형태는 그대로 임

  ㅇ reduce(콜백함수) : 배열 내 각 요소를 순서대로 처리 누적하며 하나의 값으로 줄임
     - 동작 방식
        . 배열 내 각 요소를 하나씩 꺼내, 사용자 함수(콜백함수)를 적용함
        . 이때, 콜백함수는 그 결과 값을 계속 누적하는 함수가 됨
        . 결국, 배열을 하나의 값으로 줄여줌
     - 형식 
        . array.reduce( 콜백함수, 기본값 );
        . array.reduce( (누적값, 현재값, 인덱스, 요소) => { return 결과; }, 초기값 );
           .. 여기서, 기본값(초기값)은, 콜백함수의 반환값을 담는 빈그릇 역할
     - 반환 상의 특징
        . 객체 또는 배열 또는 정수형 또는 논리형 등 어떤 자료형도 가능
        . 또한, 배열의 길이도 바뀜


[JS 배열/Map/Set] 1. JS 배열 2. JS 배열 메소드 3. Map 객체,Set 객체 4. ArrayBuffer 객체 5. 유사 배열 객체 6. Iterator Method
  1.   기술공통
  2.   기초과학
  3.   진동/파동
  4.   전기전자공학
  5.   방송/멀티미디어/정보이론
  6.   통신/네트워킹
  7.   정보기술(IT)
        1. 정보기술
    1.   전산기초
    2.   컴퓨터구조
    3.   프로그래밍
          1. 프로그램, 프로그래밍
      1.   프로그래밍 언어론
      2.   프로그래밍 방법론
      3.   객체지향 프로그래밍
      4.   자료표현코드
      5.   자료구조
      6.   알고리즘
      7.   시스템 소프트웨어
      8.   프로그래밍언어 종류
            1. 프로그래밍 언어
        1.   C
        2.   C++
        3.   자바(Java)
        4.   자바스크립트
              1. JavaScript
              2. JS 기초 문법
          1.   JS 변수,타입,논리식
          2.   JS 구문,연산자
          3.   JS 실행환경
          4.   JS 함수
          5.   JS 객체
          6.   JS 배열/Map/Set
            1.   1. JS 배열
                2. JS 배열 메소드
                3. Map 객체,Set 객체
                4. ArrayBuffer 객체
                5. 유사 배열 객체
                6. Iterator Method
          7.   JS 활용
          8.   JS 웹문서 제어
        5.   PHP
        6.   파이썬
        7.   (기타 언어)
      9.   프로그래밍 기타일반
    4.   데이터베이스
    5.   소프트웨어 공학
    6.   운영체제
    7.   정보보호/보안
    8.   IT 기타기술
  8.   공학일반(기계,재료등)
  9.   표준/계측/품질
  10.   기술경영

 
        최근수정     요약목록     참고문헌