다음과 같이 키가 모두 대문자로 작성된 객체가 있다고 가정해 보겠습니다.
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)가 성공적으로 소문자로 변환된 것을 확인할 수 있으며, 각 키에 해당하는 값은 그대로 유지됩니다.