//자릿수 더하기
//문제해결
// 숫자의 각 자리수 숫자를 각각 더해 합치는 문제
// 숫자를 각각 나누기 위해서 배열을 만들어야 했음
// 배열로 만들기 위해서는 숫자를 문자로 바꾸어야 하기 때문에 String 사용
// 변수 str1 에 String 을 넣으니 나오는 로그는 각각 /123 / string
// mapfn 으로 함수의 매개변수 arr을 지정하고 arr 을 넘버로 바꿔주었다
// 로그는 [1,2,3] number
// 그후 for 문으로 각각의 인덱스를 전부 더해주었다
// 트러블슈팅
// 함수안에 매개변수를 넣는것이 익숙치 않아 mapfn 을
// var mapfn = Number(str1); 으로 입력하였다.
// 그랬더니 Array.from을 작성하는 과정에서 문법적 오류가 생겼다.
// 문제를 확인하고 찾아본 결과 함수의 두번째 인수는 매개변수를 어떻게 생성해야하는지 정의하는 매핑'함수'여야한다는것
// 한마디로 mapfn 을 함수로 작성하지 않아서 Array.from을 잘못 작성하고있엇고 사용이 안되었다.
function solution(n)
{
var answer = 0;
var str1 = String(n);
// console.log(str1)
// console.log(typeof(str1))
var mapfn = (arr) => Number(arr);
var Newn = Array.from(str1,mapfn);
// console.log(Newn)
// console.log(typeof(Newn[0]))
for(i = 0; i <Newn.length ; i ++){
answer += Newn[i]
}
return answer;
}
// 숫자 배열하는방법 type까지 숫자로
// var num = 12345;
// const str = String(num);
// console.log(str)
// console.log(typeof(str))
// const mapfn = (arg) => Number(arg);
// console.log(mapfn)
// console.log(typeof(mapfn))
// const newArr = Array.from(str, mapfn);
// console.log(newArr)
// console.log(typeof(newArr[0]))
//정답
// function solution(n)
// {
// var answer = 0;
// var str1 = String(n);
// console.log(str1)
// console.log(typeof(str1))
// var mapfn = (arr) => Number(arr);
// var Newn = Array.from(str1,mapfn);
// console.log(Newn)
// console.log(typeof(Newn[0]))
// for(i = 0; i <Newn.length ; i ++){
// answer += Newn[i]
// }
// return answer;
// }
// console.log(solution(123));