簡體   English   中英

打字稿將對象轉換為忽略屬性的類

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM