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

JavaScript에서 객체의 모든 키를 소문자로 변환하는 효율적인 방법

다음과 같이 키가 모두 대문자로 작성된 객체가 있다고 가정해 보겠습니다.

var details =
{
    "STUDENTNAME": "John",
    "STUDENTAGE": 21,
    "STUDENTCOUNTRYNAME": "US"
}

위 객체를 보면 모든 키가 대문자로 되어 있는 것을 확인할 수 있습니다. 이 키들을 소문자로 일괄 변환하려면 toLowerCase() 메서드를 활용하면 됩니다.

예제 코드

다음은 Object.keys()와 toLowerCase()를 조합하여 객체의 모든 키를 소문자로 변환하는 코드입니다.

var details =
{
    "STUDENTNAME": "John",
    "STUDENTAGE": 21,
    "STUDENTCOUNTRYNAME": "US"
}
var tempKey, allKeysOfDetails = Object.keys(details);
var numberOfKey = allKeysOfDetails.length;
var allKeysToLowerCase = {}
while (numberOfKey--) {
    tempKey = allKeysOfDetails[numberOfKey];
    allKeysToLowerCase[tempKey.toLowerCase()] = details[tempKey];
}
console.log(allKeysToLowerCase);

코드 동작 원리

Object.keys()를 호출하면 객체가 가진 모든 키를 배열 형태로 가져올 수 있습니다. 이후 while 루프를 통해 키를 하나씩 순회하면서 각 키에 toLowerCase()를 적용하고, 소문자로 변환된 키와 원래 값을 새로운 객체에 차례대로 저장하는 방식입니다.

위 프로그램을 실행하려면 다음 명령어를 입력합니다.

node fileName.js

여기서는 파일 이름이 demo297.js인 경우를 가정합니다.

출력 결과

콘솔에는 다음과 같은 결과가 출력됩니다.

PS C:\Users\Amit\javascript-code> node demo297.js
{ studentcountryname: 'US', studentage: 21, studentname: 'John' }

모든 키(studentname, studentage, studentcountryname)가 성공적으로 소문자로 변환된 것을 확인할 수 있으며, 각 키에 해당하는 값은 그대로 유지됩니다.