문자열을 인수로 받아, 그 안에 포함된 모든 슬래시(/)를 역슬래시(\)로 변환한 새로운 문자열을 반환하는 JavaScript 함수를 작성해야 합니다.
원본 문자열의 나머지 문자들은 그대로 유지하고, 슬래시의 방향만 반전시키면 됩니다.
그럼 이 함수의 코드를 직접 작성해 보겠습니다.
예제
구현 코드는 다음과 같습니다.
const str = 'Th/s str/ng /conta/ns some/ forward slas/hes';
const invertSlashes = str => {
let res = '';
for(let i = 0; i < str.length; i++){
if(str[i] !== '/'){
res += str[i];
continue;
};
res += '\\';
};
return res;
};
console.log(invertSlashes(str));출력
위 코드를 실행하면 콘솔에 다음과 같은 결과가 출력됩니다.
Th\s str\ng \conta\ns some\ forward slas\hes
더 간단한 방법: replace() 활용
반복문 대신 정규표현식과 String.prototype.replace() 메서드를 함께 사용하면 훨씬 간결하게 동일한 기능을 구현할 수 있습니다.
const invertSlashes = str => str.replace(/\//g, '\\');
정규표현식 /\//g는 g(전역) 플래그 덕분에 문자열 전체에서 모든 슬래시(/)를 찾아내고, 이를 역슬래시(\)로 한 번에 교체합니다. 코드가 짧아질 뿐만 아니라 내장 메서드를 활용하므로 가독성과 유지보수 측면에서도 더 유리합니다.