[javascript] map과 reduce

BAEJUN SON·2023년 6월 6일

javascript 정리

목록 보기
7/10
post-thumbnail

🍟 Today..

오늘도 코테를 풀던 중 다른사람의 풀이를 보고 영감을 받아 확실히 기억 해 놓고자 글을 남긴다. map과 reduce가 콜백함수가 있어 배열을 다루는 코테 문제들에선 상당히 유용하게 쓰일 것 같다.

map 함수

map은 말그대로 배열의 요소들을 순회하며 mapping 시켜준다.
사용 형태는 다음과 같다.

let arr = [1, 2, 3, 4];

arr.map((element, index, array) => {
    return element + 1; // 각 요소에 1을 더한 값이 return된다
})

특정 배열에 대한 순회를 하며 파라미터로 요소, 인덱스, 배열 전체를 가질 수 있고, 순회하며 각 배열에 대한 수행을 콜백함수에 정의할 수 있다.

※ 그리고 map 함수는 기존 배열을 수정하지 않는다.

reduce 함수

reduce 함수는 누적값이 포함된다.

let arr = [1, 2, 3, 4];

arr.reduce((acc, cur, index) => {
    return acc + cur; // 10 return
}, 0)

파라미터로 누적값, 현재값, 인덱스 그리고 콜백함수와 초기값을 설정한다.

map과 reduce를 활용하여 푼 문제

깃허브 링크

function solution(name, yearning, photo) {
    var answer = [];
    photo.map((e) => {
        let sum = e.reduce((acc, cur) => {
            let i = name.indexOf(cur);
            if (i != -1) {
                acc += yearning[i];
            }
            return acc;
        }, 0)
        answer.push(sum);
    })
    return answer;
}

0개의 댓글