728x90
정답코드 )
function solution(age) {
var answer = '';
let str='abcdefghij';
answer=age.toString().split('').map(a=>str[a]).join('');
return answer;
}
배열 메소드를 사용하면 짧게 끝나는 풀이지만 어떤 메소드를 어떤 순서로 사용해야할지 생각하게 하는 문제였다.
1. toString()
숫자타입을 문자타입으로 변환
let test = 12345;
test = test.toString(); // 문자타입으로 변환함
console.log(test);//'12345'
2.split()
문자열을 배열로 변환
문자열.split();// 구분자를 넣지 않으면 문자열 한 덩이라가 배열의 아이템 1개로 들어간다.
문자열.split('.'); // 구분자를 기준으로 쪼개서저 배열로 변환된다.
문자열.split('')////separator로 ""(length가 0인 문자열)을 전달하면,
//문자열을 각각의 문자별로 잘라서, 한 글자씩(공백 포함) 배열에 저장하여 리턴
3.map()
배열의 모든 요소들을 돌면서 전달한 콜백함수의 인자로 넣고 호출한다.
콜백함수의 반환된 값들을 모두 요소로 담아서 새로운 배열을 리턴한다.
const numbers = [1, 2, 3, 4, 5];
const numbersMap = numbers.map(val => val * 2);
console.log(numbersMap);
// [ 2, 4, 6, 8, 10 ]
4.join()
배열을 문자열로 변환 <->split()
const fruits = ['apple', 'banana', 'orange'];
let res;
res = fruits.join();
console.log(res);
// 'apple,banana,orange'
res = fruits.join(' ');
console.log(res);
// 'apple banana orange'
728x90