JavaScript에서 객체 배열에 담긴 속성 이름을 다른 이름으로 바꾸고 싶다면 map() 메서드를 활용하면 됩니다. map()은 기존 배열의 각 요소를 순회하면서 새로운 형태의 객체를 반환할 수 있기 때문에, 속성 이름을 변경한 새로운 배열을 손쉽게 만들 수 있습니다.
아래는 JavaScript에서 객체 배열의 속성 이름을 교체하는 예제 코드입니다.
예제 코드
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
body {
font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}
.result {
font-size: 18px;
font-weight: 500;
color: rebeccapurple;
}
</style>
</head>
<body>
<h1>객체 배열의 속성 이름 변경하기</h1>
<div class="result"></div>
<button class="Btn">클릭하세요</button>
<h3>위 버튼을 클릭하면 배열 내 객체의 속성 이름이 변경된 결과를 확인할 수 있습니다.</h3>
<script>
let BtnEle = document.querySelector(".Btn");
let resEle = document.querySelector(".result");
var person = [
{ name: "Rohan Sharma", age: 16 },
{ name: "Vinit Mehta", age: 18 },
];
person = person.map((item) => {
return {
fullName: item.name,
age: item.age,
};
});
BtnEle.addEventListener("click", () => {
person.forEach((item) => {
resEle.innerHTML += "fullName = " + item.fullName + " : Age = " + item.age + "<br>";
});
});
</script>
</body>
</html>코드 설명
위 코드의 핵심 동작 과정은 다음과 같습니다.
- 먼저
name과age라는 속성을 가진 두 개의 객체를 포함하는person배열을 선언합니다. map()메서드를 사용해 배열의 각 객체를 순회하면서,name속성 값을 그대로 가져와fullName이라는 새로운 속성 이름으로 매핑합니다.- 버튼을 클릭하면
forEach()를 통해 변경된 속성 이름과 값이 화면에 출력됩니다.
이처럼 map() 내부에서 새로운 객체를 직접 정의하면, 원본 데이터는 유지하면서 속성 이름만 자유롭게 변경한 새 배열을 만들 수 있습니다. 여러 개의 속성 이름을 한 번에 변경해야 하는 경우에도 같은 방식으로 확장하여 활용할 수 있습니다.
출력 결과
위 코드를 실행하면 다음과 같은 화면이 나타납니다.

'클릭하세요' 버튼을 누르면 아래와 같이 name이 fullName으로 변경된 결과가 표시됩니다.
