jinux127
Jinux
jinux127
  • 분류 전체보기 (109)
    • 엘리스 SW 엔지니어 트랙 (6)
      • TIL (6)
    • 개발지식 (22)
      • React (4)
      • JavaScript (9)
      • Web (4)
      • Node.js (1)
      • TypeScript (4)
    • 알고리즘 (69)
      • 백준 (47)
      • 프로그래머스 (14)
      • 이것이 코딩테스트다 (6)
    • 프로젝트 (10)
      • PHOTOCALENDAR (3)
      • 빙수먹을래? (7)
    • Life (0)
      • 헬스 (0)
      • 독서 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • 블로그 이전

인기 글

태그

  • 그리디
  • 문법
  • 구현
  • 알고리즘
  • CSS
  • node.js

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
jinux127

Jinux

개발지식/JavaScript

함수형 메서드들의 오야지 reduce

2022. 2. 10. 20:43

https://www.zerocho.com/category/JavaScript/post/5acafb05f24445001b8d796d

배열.reduce((누적값, 현잿값, 인덱스, 요소) => { return 결과 }, 초깃값);

result = oneTwoThree.reduce((acc, cur, i) => {
  console.log(acc, cur, i);
  return acc + cur;
}, 0);

// 0 1 0
// 1 2 1
// 3 3 2

result; // 6

map 예제를 reduce로 만들어보겠습니다.

result = oneTwoThree.reduce((acc, cur) => {
  acc.push(cur % 2 ? '홀수' : '짝수');
  return acc;
}, []);
result; // ['홀수', '짝수', '홀수']

초깃값을 배열로 만들고, 배열에 값들을 push하면 map과 같아집니다. 이를 응용하여 조건부로 push를 하면 filter와 같아집니다. 다음은 홀수만 필터링하는 코드입니다.

result = oneTwoThree.reduce((acc, cur) => {
  if (cur % 2) acc.push(cur);
  return acc;
}, []);
result; // [1, 3]

'개발지식 > JavaScript' 카테고리의 다른 글

bind() 가 뭐야  (0) 2022.04.18
배열  (0) 2022.02.10
진수 변환  (0) 2022.02.10
slice, splice  (0) 2022.02.02
{...}[...] 문법  (0) 2022.02.02
jinux127
jinux127

티스토리툴바