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

JavaScript에서 객체 키 값의 밑줄을 제거하고 수정하는 방법

JavaScript에서 객체의 키 값을 수정하려면 정규식(Regular Expression)Object.fromEntries() 메서드를 함께 활용해야 합니다.

이 방법은 객체의 각 키에 포함된 밑줄(_)을 찾아 제거하고, 밑줄 바로 뒤에 오는 문자를 대문자로 변환하여 카멜 케이스(camelCase) 형태로 만들어 줍니다.

구현 예제

먼저 정규식을 사용해 문자열 내의 밑줄과 그 뒤 문자를 처리하는 화살표 함수를 정의합니다. 이후 Object.entries()로 객체를 배열 형태로 변환한 뒤, map()으로 키를 가공하고, 최종적으로 Object.fromEntries()를 통해 다시 객체로 복원합니다.

var underscoreSpecifyFormat = str => str.replace(/(_)(.)/g, (_, __, v) => v.toUpperCase()),
JsonObject = { first_Name_Field: 'John', last_Name_Field: 'Smith' },
output = Object.fromEntries(Object.entries(JsonObject).map(([key, value]) => [underscoreSpecifyFormat(key), value]));

console.log("The JSON Object=");
console.log(output);

위 코드에서 핵심 역할을 하는 요소들은 다음과 같습니다.

  • /(_)(.)/g: 문자열 전체(g 플래그)에서 밑줄(_)과 그 다음 임의의 한 문자(.)를 캡처하는 정규식입니다.
  • v.toUpperCase(): 캡처된 두 번째 그룹(밑줄 뒤 문자)을 대문자로 변환합니다.
  • Object.fromEntries(): [키, 값] 쌍의 배열을 다시 하나의 객체로 변환합니다.

프로그램 실행 방법

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

node fileName.js

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

실행 결과

위 프로그램을 실행하면 다음과 같은 출력 결과를 확인할 수 있습니다.

PS C:\Users\Amit\JavaScript-code> node demo89.js
The JSON Object=
{ firstNameField: 'John', lastNameField: 'Smith' }

출력 결과를 보면 원래 객체의 키였던 first_Name_Fieldlast_Name_Field가 각각 firstNameField, lastNameField로 변환된 것을 알 수 있습니다. 밑줄은 모두 제거되고, 밑줄 뒤에 있던 문자들이 대문자로 변경되어 깔끔한 카멜 케이스 형식의 키가 완성되었습니다.