길이가 같은 배열 a,b의 내적을 구하시오
let solution = (a,b) => {
let answer = 0;
for(let i=0; i<a.length; i++){
answer += a[i]*b[i];
}
return answer;
}
let solution = (a,b) => {
let answer = a.reduce((acc,cur,i) => acc += cur*b[i], 0);
return answer;
}
Array.prototype.reduce
: 콜백 함수를 반복 호출,
반환 값을 다음 순회의 인수로 전달하며 하나의 결과 값으로 반환콜백 함수에 전달되는 인수
1. accumulator : 콜백의 반환 값
⇒ 첫 번째 호출이라면 initial(0) 값, 두 번째 호출이면 첫 번째 호출의 반환 값
2. currentValue : 처리할 현재 요소
3. index : 처리할 현재 요소의 인덱스
4. array : reduce 메서드를 호출한 배열const array = [1, 2, 3, 4]; const sum = array.reduce((accumulator, currentValue, index, array) => accumulator + currentValue, 0); console.log(sum) ; // 10