JavaScript에서 객체를 키-값(key-value) 형태의 배열로 변환하려면 Object.entries() 메서드와 map() 메서드를 함께 사용하면 됩니다. Object.entries()는 객체의 각 속성을 [키, 값] 형태의 배열로 변환해 주고, map()을 이용하면 이를 원하는 객체 구조로 자유롭게 재구성할 수 있습니다.
예제 코드
다음은 학생 정보 객체를 studentId와 studentName 속성을 가진 객체 배열로 변환하는 예제입니다.
var studentObject={
101: "John",
102: "David",
103: "Bob"
}
var studentDetails = Object.assign({}, studentObject)
studentDetails = Object.entries(studentObject).map(([studentId,studentName])=>({studentId ,studentName}));
console.log(studentDetails);프로그램 실행 방법
위 프로그램을 실행하려면 Node.js 환경에서 다음 명령어를 입력합니다.
node fileName.js
여기서는 파일 이름이 demo113.js라고 가정합니다.
실행 결과
위 코드를 실행하면 다음과 같은 출력 결과를 확인할 수 있습니다.
PS C:\Users\Amit\JavaScript-code> node demo113.js
[
{ studentId: '101', studentName: 'John' },
{ studentId: '102', studentName: 'David' },
{ studentId: '103', studentName: 'Bob' }
]
코드 설명
Object.entries(studentObject)는 객체를 [['101', 'John'], ['102', 'David'], ['103', 'Bob']]과 같은 2차원 배열로 변환합니다. 이후 map() 내부의 구조 분해 할당([studentId, studentName])을 통해 각 배열 요소를 새로운 객체({studentId, studentName})로 만들어, 최종적으로 키와 값이 명확히 정의된 객체 배열을 얻을 수 있습니다. 이 방식은 API 응답 데이터를 정규화하거나 목록 형태로 렌더링할 때 특히 유용합니다.