[英]Typescript casting object to a class ignoring properties
我有一個我試圖從我的 webapi 調用中投射的對象。
所以讓我們說這是來自 webapi 的數據
let userTestStatus: { id: number, name: string }[] = [
{ "id": 0, "name": "Available", "date" : "01/01/2001" },
{ "id": 1, "name": "Ready", "date" : "01/01/2001" },
{ "id": 2, "name": "Started", "date" : "01/01/2001" }
];
這是我的打字稿類。 如您所見,沒有日期屬性
export myClass{
id: number;
name: string;
}
當對象被轉換時,日期屬性在那里,即使它在我的類中不存在。 如何讓打字稿忽略類中不存在的屬性?
您可以將所有對象映射到您想要的模型
const myModelObejctsArray: MyModel[] = userTestStatus.map(user => {
return {
id: user.id,
name: user.name
}
})
您的數據滿足給定的類型接口。 但是,您的數據具有比您聲明為類型更多的屬性。
您的 Typescript IDE 應該向您顯示一些消息,說明您的數組中的對象沒有專門的日期屬性。 但是你仍然可以運行它。
如果您不想在數組元素中使用 date 屬性,您可以自行刪除它:
userTestStatus.forEach(e => delete e.date);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.