从(不同)对象类型的数组中获取所有键
Get all keys from array of (different) objects type
我有一个 FooBar 类型,它包含具有不同属性的对象。我想从所有对象中获取密钥。我认为可以通过使用 keyof FooBar[number];
来获得,但它只有 returns 公共键。
type FooBar = [
{
foo: "hello";
bar: "goodbye";
},
{
foo: "hi";
bar: "goodbye";
fizz: "buzz";
}
];
type FooBarKeys = keyof FooBar[number];
// type FooBarKeys = "foo" | "bar"
如何获取所有对象的所有键?
type Index<T> = {[k in keyof T]: k} // ["0", "1"]
type Props<T> = {[k in keyof Index<T>]: keyof T[k]} // ["foo"|"bar", "foo"|"bar"|"fizz"]
type Keys = Props<FooBar>[number];
我有一个 FooBar 类型,它包含具有不同属性的对象。我想从所有对象中获取密钥。我认为可以通过使用 keyof FooBar[number];
来获得,但它只有 returns 公共键。
type FooBar = [
{
foo: "hello";
bar: "goodbye";
},
{
foo: "hi";
bar: "goodbye";
fizz: "buzz";
}
];
type FooBarKeys = keyof FooBar[number];
// type FooBarKeys = "foo" | "bar"
如何获取所有对象的所有键?
type Index<T> = {[k in keyof T]: k} // ["0", "1"]
type Props<T> = {[k in keyof Index<T>]: keyof T[k]} // ["foo"|"bar", "foo"|"bar"|"fizz"]
type Keys = Props<FooBar>[number];