Square(n) Sum
Complete the square sum method so that it squares each number passed into it and then sums the results together.
For example: squareSum([1, 2, 2]) should return 9 because 1^2 + 2^2 + 2^2 = 9.
문제 풀이
function squareSum(numbers){
return numbers.reduce((a,b) => a + Math.pow(b,2), 0)
}
깔끔한 문제풀이
function squareSum(numbers){
return numbers.reduce(function(sum, n){
return (n*n) + sum;
}, 0)
}
중요개념
- 화살표 함수
- 화살표 표기법은 간단히 말해 function이라는 단어와 중괄호를 줄일 수 있다.
- function을 생략해도 된다.
- 함수에 매개변수가 단 하나 뿐이라면 괄호도 생략할 수 있다.
- 함수 바디가 표현식이라면 중괄호와 return을 생략할 수 있다.
- 화살표 함수는 익명 함수를 만들어 다른 곳에 전달하려 할 때 가장 유용하다.
- reduce(array methods)
- reduce라는 이름은 배열를 연산하여 하나의 값으로 변환하기 때문에 지어짐
- 하지만 reduce가 반환하는 값 하나는 객체일 수도 있고, 다른 배열일 수도 있다.
- reduce를 통해 map, filter의 동작을 대부분 대신할 수 있다.
- reduce의 첫번째 매개변수는 accumulator이다.
- reduce는 배열 메서드 중에서 가장 범용적이고 강력한 메서드이다.