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)