JavaScript에서 여러 개의 키를 하나의 동일한 값에 매핑해야 하는 경우가 종종 있습니다. 예를 들어, 여러 이름을 모두 같은 값 'John'으로 초기화하는 객체를 만들고 싶다면 for...of 루프를 활용하면 아주 간단하게 해결할 수 있습니다.
1. 키 설정하기
먼저 사용할 키들을 배열 형태로 정의합니다.
const name = ['Name1', 'Name2'];
2. for 루프로 키를 동일한 값에 매핑하기
빈 객체를 생성한 뒤, for...of 루프를 사용하여 배열의 각 키를 순회하면서 동일한 값을 할당합니다.
예제
const name = ['Name1', 'Name2'];
const keyValueObject = {};
for (const k of name){
keyValueObject[k] = 'John';
}
console.log(keyValueObject);3. 프로그램 실행 방법
위 프로그램은 Node.js 환경에서 다음 명령어로 실행할 수 있습니다.
node fileName.js
여기서는 파일명이 demo48.js라고 가정하겠습니다.
4. 출력 결과
위 코드를 실행하면 다음과 같이 모든 키가 동일한 값 'John'에 매핑된 객체가 출력됩니다.
PS C:\Users\Amit\JavaScript-code> node demo48.js
{ Name1: 'John', Name2: 'John' }추가 팁: Object.fromEntries로 더 간결하게 작성하기
ES2019 이상 환경이라면 map()과 Object.fromEntries()를 조합하여 한 줄로 처리할 수도 있습니다.
const name = ['Name1', 'Name2'];
const keyValueObject = Object.fromEntries(name.map(k => [k, 'John']));
console.log(keyValueObject); // { Name1: 'John', Name2: 'John' }두 방법 모두 결과는 동일하지만, 키 목록이 배열로 주어진 상황에서는 Object.fromEntries() 방식이 더 선언적이고 간결하다는 장점이 있습니다. 반복 로직 안에 추가 작업이 필요하다면 for...of 루프가 더 유연하게 활용됩니다.