[英]Create an object from interface with keys and values - typescript
有什么方法可以基於使用相同鍵和值的接口創建 object 嗎?
例如。 我有以下界面:
interface Person {
name: string;
age: number;
}
我想生成一個 object,如下所示:
const personFieldNames = {
name: "name",
age: "age",
};
您不能從接口創建 object,因為類型僅在編譯時存在,但是您可以使用typeof
從 object 創建類型。
const person = {
name: 'name',
age: 0
}
type Person = typeof person
const john: Person = {
name: 'john',
age: 20
}
您不能遍歷Interface
的屬性,因為它們僅用於編譯時。 但是您可以做的是從您的Interface
創建一個 object 並循環其properties
。
interface Person {
name: string;
age: number;
}
const personFieldNames: Person = {
name: "name",
age: 123,
};
let newObject = {};
Object.keys(personFieldNames)
.forEach(key => {
newObject = {... newObject, [key] : key};
})
console.log(newObject);
Output:
[LOG]: {
"name": "name",
"age": "age"
}
或者你可以使用這里的ts-transformer-key
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.