如果 id 值等于特定值,我需要訪問 Javascript 物件中的 id 值以顯示用戶具有成員資格的簡單訊息。
我收到 Uncaught Type Error not defined 'id' 訊息
在控制臺中顯示為
subscriptions: Array(1)
0: // COMMENT Don't know what this is
autoRenew: false
canRenew: false
expiryDate: "2022-10-26T00:00:00"
membership:
id: "819AGBHDRLQHNHPHKKMPKLGPMDRDTDMVL"
我假設等效的 JSON 類似于:
subscriptions {
0
{
membership: {
id: "819AGBHDRLQHNHPHKKMPKLGPMDRDTDMVL"
}
}
}
我的 Javascript 代碼
const userObj3 = userObj['subscriptions']['0']['membership']['id'];
if (userObj3 = "819AGBHDRLQHNHPHKKMPKLGPMDRDTDMVL") {
greeting = "You have membership";
}
uj5u.com熱心網友回復:
您的訂閱是一個陣列,您在 if 中的比較也不正確,應該是==or ===,您還可以使用點注釋來遍歷物件,而不是在每個鍵上使用括號。
將索參考作字串而不是數字并沒有真正的錯誤,這不是一個好習慣。
您可能需要考慮回圈訂閱而不是使用直接索引,以防萬一有多個訂閱。但這僅取決于您如何構建資料,并且取決于您。
const userObj = {
subscriptions: [
{
autoRenew: false,
canRenew: false,
expiryDate: '2022-10-26T00:00:00',
membership: {
id: '819AGBHDRLQHNHPHKKMPKLGPMDRDTDMVL'
}
},
{
autoRenew: true,
canRenew: false,
expiryDate: '2022-10-26T00:00:00',
membership: {
id: '201AGBHDRLQHNHPHKKMPKLGPMDRDTDMVL'
}
}
]
};
let greeting = "You're not a member";
userObj.subscriptions.forEach((sub) => {
if (sub.membership.id === '201AGBHDRLQHNHPHKKMPKLGPMDRDTDMVL') {
greeting = "You're a member";
}
});
console.log(greeting);
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/432477.html
標籤:javascript json 等级制度
