Overview
Implement camelCaseKeys(object) that deeply converts all keys from snake_case to camelCase.
Examples
camelCaseKeys({ user_name: 'John', user_info: { first_name: 'John' }});
// { userName: 'John', userInfo: { firstName: 'John' }}Solution
Reveal solution
function camelCaseKeys(value) {
if (value === null || typeof value !== 'object') return value;
if (Array.isArray(value)) return value.map(item => camelCaseKeys(item));
const result = {};
for (const [k, v] of Object.entries(value)) {
const camel = k.replace(/_([a-z])/g, (_, c) => c.toUpperCase());
result[camel] = camelCaseKeys(v);
}
return result;
}camel-case-keys.js
Camel Case Keys
mediumcodingJavaScriptObjects
Overview
Implement camelCaseKeys(object) that deeply converts all keys from snake_case to camelCase.
Examples
camelCaseKeys({ user_name: 'John', user_info: { first_name: 'John' }});
// { userName: 'John', userInfo: { firstName: 'John' }}Solution
Reveal solution
function camelCaseKeys(value) {
if (value === null || typeof value !== 'object') return value;
if (Array.isArray(value)) return value.map(item => camelCaseKeys(item));
const result = {};
for (const [k, v] of Object.entries(value)) {
const camel = k.replace(/_([a-z])/g, (_, c) => c.toUpperCase());
result[camel] = camelCaseKeys(v);
}
return result;
}NameTopicDifficulty
103 of 103 problems