![](/img/trans.png)
[英]TypeScript: Is it possible to safely access nested properties of an object given an array of keys? Can this be done in a type safe and composable way?
[英]Typescript create object with properties with given keys
这是我正在努力的简化案例。
const createObj = <T extends string>(keys: T[]) => {
return Object.fromEntries(
keys.map((key) => [key, 0])
);
};
const result = createObj(["hi","hello","gg"] as const)
我希望结果类型是{hi: 0, hello: 0, gg: 0 }
但结果是any
;
你可以这样做:
function createObj<T extends string>(arr: T[]): Record<T, number> {
let result = {} as Record<T, number>;
arr.forEach((x, i) => {
result[x] = i;
})
return result
}
const object = createObj(["hi","hello","gg"])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.