영어가 싫은 머쓱이는 영어로 표기되어있는 숫자를 수로 바꾸려고 합니다. 문자열 numbers가 매개변수로 주어질 때, numbers를 정수로 바꿔 return 하도록 solution 함수를 완성해 주세요.
function solution(numbers) {
const obj = {
zero: 0, one: 1, two: 2, three: 3, four: 4,
five: 5, six: 6, seven: 7, eight: 8, nine: 9,
};
const num = numbers.replace(/one|two|three|four|five|six|seven|eight|nine|zero/g, (v) => {
return obj[v];
});
return Number(num);
}
나도 replace 함수를 사용해 풀었으나, 너무 어린이스러운 풀이인 것 같아서.. 다른사람이 푼 좀 더 성숙한 풀이를 공유한다.
const newStr = str.replace(regexp|substr, newSubstr|function);
위 코드는 replace() 함수 사용 구문으로, 두번째 인자로 콜백함수를 전달할 수 있다는 것을 풀이를 통해 처음 알게되었다. 역시 공식문서를 잘 확인해야 한다..!!
replace() 참고 링크