簡體   English   中英

角度-可觀察的值是否存在

[英]Angular - Observable check if value exists

我的數據庫中有一個用戶列表。

user1: {name: "John", pet: {name:"Riko", type: "dog"}, married: true, children: [{name: "Marry", relationship: "daughter"}] },
user2: {name: John", married: false}

提取用戶節點后,我希望檢查該用戶是否具有某些信息。 就我而言,我想檢查用戶是否具有petmarriedchildren字段。

如果他這樣做了,我想將用戶的對象與新屬性一起存儲在里面: completedQuiz: true (因為他已經通過測驗添加了丟失的信息)。

從上面實現邏輯之后,我應該獲得的結果是:

user1: {name: "John", pet: {name:"Riko", type: "dog"}, married: true, children: [{name: "Marry", relationship: "daughter"}], completedQuiz: true },
user2: {name: John", married: false, completedQuiz: false}

user2已經completedQuiz: false user2 completedQuiz: false因為他沒有所有的petmarriedchildren節點,而user1已經completedQuiz: true user1 completedQuiz: true因為他確實具有這些字段。

PS我也想訂閱該列表,因此,如果在獲取后添加數據,則對於所有用戶,我仍將具有最新的completedQuiz狀態。

什么是實現此目標的好方法?

假設您有一個可觀察對象,它從數據庫中返回用戶。 然后可以使用map對其進行轉換:

users.map( (user) => {
    ...user,
    completedQuiz: user.pet && user.married && user.children
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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