跳到主要内容

lowercaseKeys

TS JS Deno

从指定的对象创建一个新对象,其中所有的键都是小写的。

使用 Object.keys()Array.prototype.reduce() 从指定的对象创建一个新对象。 使用 String.toLowerCase() 将原始对象中的每个键转换为小写。

typescript
type AnyObject = { [key: string]: any };
const lowercaseKeys = (obj: AnyObject, deep = false) =>
Object.keys(obj).reduce((acc, key) => {
acc[key.toLowerCase()] =
deep && typeof obj[key] === "object" ? lowercaseKeys(obj[key]) : obj[key];
return acc;
}, {} as AnyObject);
typescript
lowercaseKeys({ Name: "Adam", sUrnAME: "Smith" }); // {name: 'Adam', surname: 'Smith'};
lowercaseKeys({ Name: "Adam", adDress: { Pin: 700000 } }, true); // {name: 'Adam', address: {pin: 700000} }