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

JavaScript에서 모든 키를 동일한 값으로 매핑하는 객체(사전) 만드는 방법

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 루프가 더 유연하게 활용됩니다.