Array.Reduce()

김진겸·2023년 1월 16일
0

Array.Reduce()의 모든것을 지금 정리하는것 보다 사용해보면서 이해하게 된것들을 기록하는게 더 도움이 될거 같다.
예)

let arr = [1,2,3,4,5]
   const sum = arr.reduce((acc,cur)=>{
        console.log(acc,cur)
        return acc +cur
    })
    // 1 2
    // 3 3
    // 6 4
    // 10 5
console.log(sum) // 15

Array.Reduce(accumulator,currentValue)는 한번의 순회마다 배열의 요소에 접근하고 accumulator는 한번의 순회마다 반환하는 값을 받아오는데 첫번째 순회에서는 Array[0]을 받아 온다. 그리고 currentValue은 Array[1]부터 받아오기 시작한다.
return acc + cur 은모든 배열을 순차적으로 더하기위해 작성한 코드이다.

추가 예)

 const a=[1,2,3,4]
 const b=[-3,-1,0,2]
 const answer =a.reduce((acc,cur,i)=>{
        return acc+(cur *b[i])
    },0)
    return answer

(2023.01.30) 오늘 알고리즘을 풀이하면서 배운 방법이다.
<상황>
a와 b의 내적을 구한다. 내적은 다음과같다.
a[0]b[0] + a[1]b[1] + ... + a[n-1]*b[n-1]

reduece를 사용할때 간단한 연산자만 생각했었지만 이번 풀이에서 idenx매개변수로 다른 배열에 접근할 수도 있었다. 그리고 연산한것을 누산할 수 도 있다.

추가 예)

   return absolutes.reduce((acc,cur,i)=>acc+(cur*(signs[i]?1:-1)),0 )

(2023.01.30)
삼항연산자를 넣을수 있음을 모르고 있었다. 이자리에는 함수,다양한 연산자등 다 들어 갈수 있다. 이를 참고하며 로직를 생각하자.

아직 많이 부족하지만 공부하면서 채워 나갈것이다.(2023.01.16)
아직 많이 부족하다 꾸준히 채워나가자.(2023.01.30)

profile
성장에 목마른 입문자입니다!

0개의 댓글