【发布时间】:2022-06-15 20:57:44
【问题描述】:
我尝试将对象字段从 camelCase 递归转换为 UPPERCASE。
由于某种原因它不起作用,我在 stackoverflow 中尝试了许多不同的方法。
感谢所有帮助,谢谢。
const o = {
KeyFirst: "firstVal",
KeySecond: [
{
KeyThird: "thirdVal",
},
],
KeyFourth: {
KeyFifth: [
{
KeySixth: "sixthVal",
},
],
},
};
function renameKeys(obj) {
return Object.keys(obj).reduce((acc, key) => {
const value = obj[key];
const modifiedKey = `${key[0].toLowerCase()}${key.slice(1)}`;
if (Array.isArray(value)) {
return {
...acc,
...{ [modifiedKey]: value.map(renameKeys) },
};
} else if (typeof value === "object") {
return renameKeys(value);
} else {
return {
...acc,
...{ [modifiedKey]: value },
};
}
}, {});
}
console.log(renameKeys(o));
【问题讨论】:
-
toLowerCase正在将密钥更改为小写。考虑使用toUpperCase
标签: javascript