양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요.
x는 1 이상, 10000 이하인 정수입니다.

x의 값을 찢는다.
x의 값을 찢기 위해서는 split('')를 사용하였는데
split('')는 문자열에만 작동하기 때문에
x의 값을 toString()을 이용하여 정수로 바꿔준 후 split()을 사용하였다.
const harshadSum = x.toString().split('')
찢은 x의 값을 새로운 배열로 받는다.
새로운 배열로 받기 위해서는 map함수를 이용하였고
배열의 각 요소를 숫자로 변환하기 위해 내장함수인 Number을 사용했다.
const harshadSum = x.toString().split('').map(Number);
그 배열의 모든 값을 더하여 하샤드 수를 구한다.
배열의 모든 값을 더하는 방법은 여러가지가 있지만
최근 배운 .reduce()를 이용해보았다.
.reduce()란
배열에 포함된 모든 요소에 대해 주어진 함수를 실행하고, 그 결과를 누적하여 최종 결과를 반환한다.
.reduce((acc,curr) => acc + curr)
여기서 acc는 반환값을 누적
여기서 curr는 현재 처리 중인 배열 요소
const Hashad = harshadSum.reduce((acc,curr) => acc+curr);
x를 하샤드 수로 나누었을 때 나머지가 0이라면 true 아니라면 false를 리턴
3항 연산자를 이용
return x % Harshad === 0 ? true:false;

테스트 통과!!
알고리즘 문제 처음엔 머리아팠는데
점점 익숙해지면서 문제를 푸는게 재미있어졌다!!