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

JavaScript에서 배열 인덱스로 배열 키 생성하기 – 연관 배열 만드는 방법

JavaScript에는 다른 언어와 달리 별도의 '연관 배열(associative array)' 자료형이 존재하지 않습니다. 대신 객체(Object)를 활용하면 키와 값을 연결하는 연관 배열과 동일한 구조를 손쉽게 만들 수 있습니다.

배열의 요소를 키로, 배열 인덱스를 값으로 사용하는 객체를 만들려면 forEach() 메서드와 대괄호 [] 계산된 속성명(computed property name)을 함께 사용하면 됩니다.

예제 코드

다음은 이름 배열을 순회하면서 각 이름을 키로, 해당 인덱스를 값으로 갖는 객체를 생성하는 코드입니다.

var result = {};
var names = ['John', 'David', 'Mike', 'Sam', 'Bob', 'Adam'];
names.forEach((nameObject, counter) => {
    var generatedValues = { [nameObject]: counter };
    Object.assign(result, generatedValues)
})
console.log(result);

코드 설명

  • forEach() – 배열의 각 요소와 해당 요소의 인덱스(counter)를 차례대로 순회합니다.
  • { [nameObject]: counter } – 대괄호 표기법을 사용해 배열 요소(nameObject)를 동적으로 객체의 키로 지정하고, 그 값으로 인덱스(counter)를 할당합니다.
  • Object.assign() – 생성된 키-값 쌍을 result 객체에 하나씩 병합합니다.

실행 방법

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

node fileName.js

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

출력 결과

프로그램을 실행하면 콘솔에 다음과 같은 결과가 출력됩니다.

PS C:\Users\Amit\javascript-code> node demo290.js
{ John: 0, David: 1, Mike: 2, Sam: 3, Bob: 4, Adam: 5 }

이처럼 forEach()와 계산된 속성명을 조합하면 배열의 요소를 키로, 인덱스를 값으로 하는 연관 배열 형태의 객체를 간단하게 생성할 수 있습니다.