Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- @FeignClient
- 개발자 취업
- 커스텀 헤더
- JavaScript
- 구글 OAuth login
- 99클럽
- spring batch 5.0
- Python
- 디자인패턴
- jwt
- 디자인 패턴
- DesignPattern
- jwttoken
- 항해99
- 전략패턴 #StrategyPattern #디자인패턴
- 개발자부트캠프추천
- 빈 충돌
- 인프콘 2024
- KPT회고
- infcon 2024
- 프로그래머스
- 프로그래머스 이중우선순위큐
- 단기개발자코스
- 코딩테스트 준비
- 취업리부트코스
- TiL
- Spring multimodule
- 1주일회고
- 파이썬
- 빈 조회 2개 이상
Archives
- Today
- Total
m1ndy5's coding blog
JavaScript filter() & map() & reduce() 본문
map()
기존 요소를 바탕으로 새로운 값을 만들어내고 싶을 때 사용
const arr = ["월", "화", "수"]
const newArr = arr.map(item => item + "요일")
// 기존 요소인 월, 화, 수에 요일이 붙은 월요일, 화요일, 수요일이 Array형식으로 출력됨
console.log(newArr)
filter()
기존 요소를 순회하여 조건에 맞는 요소들만 빼내어 반환
const arr = ["안녕하세요", "저는", "JavaScript를", "공부하고", "있습니다."]
const newArr = arr.filter(item => item.includes("JavaScript"))
// 기존요소에서 JavaScript를 포함한 JavaScript를 만 Array형식으로 출력됨
console.log(newArr)
find()와 차이점
filter()는 조건에 해당하는 모든 요소를 Array에 담아 return하지만
find()는 조건에 해당하는 한가지의 요소만 반환 (여러개 있으면 처음값만 반환)
reduce()
빈 요소를 제외하고 배열 내에 존재하는 각 요소에 대해 callback 함수를 실행
arr.reduce(callback[, initialValue])
- 다음 4가지의 인수를 가짐
- accumulator - accumulator는 callback함수의 반환값을 누적
- currentValue - 배열의 현재 요소
- index(Optional) - 배열의 현재 요소의 인덱스
- array(Optional) - 호출한 배열
initialValue가 있고 없고로 accumulator에 들어갈 값을 결정함
const number = [1, 2, 3, 4, 5];
// initialValue가 없는 경우 : accumulator은 1부터 currentValue는 2부터 드감(currentIndex = 1)
const sum = number.reduce((acc, curr) => acc + curr); // result = 27
// initialValue가 있는 경우 : accumulator은 초기값, currentValue는 1부터(currentIndex = 0)
const iSum = number.reduce(((acc, curr) => acc + curr), 1); // result = 28
'프론트엔드 > java script' 카테고리의 다른 글
JavaScript 객체: Set & Map (0) | 2023.05.09 |
---|---|
JavaScript Spread[...] & Destructuring(구조 분해 할당) (1) | 2023.05.08 |
프로그래밍, JavaScript란? (0) | 2023.05.06 |
[미니 프로젝트] 우리FISA Calendar 만들기 (0) | 2023.05.06 |
[미니 프로젝트] 파파고 만들기 (0) | 2023.05.01 |