<8 kyu> Square(n) Sum

Statisticseo·2019년 2월 21일
0

Codewars(8kyu)(JS)

목록 보기
3/3

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는 배열 메서드 중에서 가장 범용적이고 강력한 메서드이다.
profile
웹 개발을 위한 연습

0개의 댓글