JavaScript로 개발을 하다 보면 배열의 각 요소에 불필요한 특수 문자가 붙어 있는 경우를 자주 만나게 됩니다. 대표적인 예가 문자열 앞에 + 기호가 붙어 있는 상황입니다. 이번 글에서는 map() 메서드와 replace() 메서드를 활용해 배열의 모든 요소에서 + 기호를 손쉽게 제거하는 방법을 알아보겠습니다.
예제 데이터: '+' 기호가 붙은 배열
먼저 각 요소 앞에 + 기호가 붙어 있는 다음과 같은 학생 이름 배열이 있다고 가정해 보겠습니다.
var studentNames = [
'+John Smith',
'+David Miller',
'+Carol Taylor',
'+John Doe',
'+Adam Smith'
];'+' 기호를 제거하는 코드
+ 기호를 제거하려면 배열의 각 요소를 순회하면서 문자열 치환을 수행하면 됩니다. 가장 효율적인 방법은 map() 메서드와 함께 replace() 메서드를 사용하는 것입니다.
studentNames = [
'+John Smith',
'+David Miller',
'+Carol Taylor',
'+John Doe',
'+Adam Smith'
];
console.log("원본 배열=");
console.log(studentNames);
studentNames = studentNames.map(function (value) {
return value.replace('+', '');
});
console.log("'+' 기호 제거 후 결과=");
console.log(studentNames);코드 설명
- map() 메서드: 배열의 모든 요소를 하나씩 순회하며 콜백 함수를 실행하고, 그 결과로 새로운 배열을 반환합니다. 원본 배열은 변경되지 않습니다.
- replace('+', ''): 각 문자열에서 첫 번째로 등장하는
+기호를 빈 문자열('')로 교체하여 제거합니다.
프로그램 실행 방법
위 프로그램을 실행하려면 Node.js 환경에서 다음 명령어를 사용하면 됩니다.
node fileName.js
여기서는 파일명이 demo205.js라고 가정하겠습니다.
실행 결과
위 코드를 실행하면 다음과 같은 출력 결과를 확인할 수 있습니다.
PS C:\Users\Amit\javascript-code> node demo205.js
원본 배열=
[
'+John Smith',
'+David Miller',
'+Carol Taylor',
'+John Doe',
'+Adam Smith'
]
'+' 기호 제거 후 결과=
[
'John Smith',
'David Miller',
'Carol Taylor',
'John Doe',
'Adam Smith'
]추가 팁: 정규식으로 모든 '+' 제거하기
문자열 중간에도 + 기호가 여러 개 포함되어 있다면, 정규식과 g(lobal) 플래그를 사용하면 됩니다.
studentNames = studentNames.map(value => value.replace(/\+/g, ''));
이처럼 map()과 replace()를 조합하면 배열 전체의 문자열을 간결하고 효율적으로 정리할 수 있습니다. 실무에서는 화살표 함수(=>)를 사용하면 코드를 더욱 짧고 가독성 있게 작성할 수 있습니다.