Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript에서 Map의 값들을 하나의 문자열로 합치는 방법

JavaScript에서 Map() 개념을 활용하면 여러 개의 값을 하나의 문자열로 손쉽게 결합할 수 있습니다. Map은 키(key)와 값(value) 쌍으로 데이터를 저장하는 자료구조로, 이때 키는 반드시 고유해야 한다는 특징이 있습니다.

Map에 담긴 값들을 하나로 연결하려면 join() 메서드를 함께 사용해야 합니다. 아래 예제 코드를 살펴보겠습니다.

예제 코드

let queryStringAppendWithURL = new Map();
queryStringAppendWithURL.set("firstParamter", ["name=John", "age=23", "countryName=US"]);
queryStringAppendWithURL.set("secondParamter", ["subjectName=JavaScript", "Marks=91"]);
let appendValue = Array.from(queryStringAppendWithURL.values()).map(value =>
value.join('?')).join('?');
console.log("The appended value is="+appendValue);

코드 설명

위 코드의 동작 과정을 단계별로 정리하면 다음과 같습니다.

1. new Map()으로 새로운 Map 객체를 생성합니다.
2. set() 메서드를 사용해 두 개의 키와 각각 배열 형태의 값들을 저장합니다.
3. Array.from(queryStringAppendWithURL.values())를 통해 Map의 모든 값들을 배열로 변환합니다.
4. 각 배열 내부의 요소들을 join('?')으로 '?' 구분자로 연결한 뒤, 전체 결과 역시 join('?')으로 하나의 문자열로 합칩니다.

실행 방법

위 프로그램을 실행하려면 Node.js 환경에서 다음 명령어를 입력합니다.

node fileName.js

여기서는 파일 이름이 demo78.js라고 가정합니다.

실행 결과

프로그램을 실행하면 아래와 같은 출력 결과가 나타납니다.

PS C:\Users\Amit\JavaScript-code> node demo78.js
The appended value
is=name=John?age=23?countryName=US?subjectName=JavaScript?Marks=91

이처럼 Map과 join() 메서드를 조합하면 분산되어 있는 여러 값들을 원하는 구분자를 기준으로 간단하게 하나의 문자열로 병합할 수 있습니다. URL 쿼리 문자열을 만들거나 데이터를 직렬화할 때 유용하게 활용할 수 있는 패턴입니다.