访问对象中的层次结构数据 Javascript
Accessing Hierarchy Data in an Object Javascript
我需要访问 Javascript 对象中的 id 值,以显示一条简单消息,表明如果 id 值等于特定值,则用户具有会员资格。
我收到未定义的未捕获类型错误 '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";
}
你的订阅是一个数组,而且你在 if 中的比较不正确,应该是 ==
或 ===
,你也可以使用点注释来遍历对象,而不是在每个对象上使用括号关键。
将索引用作字符串而不是数字并没有错,只是不是一个好的做法。
您可能想考虑循环订阅而不是使用直接索引,以防有多个订阅。但这仅取决于您如何构建数据并且有点取决于您。
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);
我需要访问 Javascript 对象中的 id 值,以显示一条简单消息,表明如果 id 值等于特定值,则用户具有会员资格。
我收到未定义的未捕获类型错误 '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";
}
你的订阅是一个数组,而且你在 if 中的比较不正确,应该是 ==
或 ===
,你也可以使用点注释来遍历对象,而不是在每个对象上使用括号关键。
将索引用作字符串而不是数字并没有错,只是不是一个好的做法。
您可能想考虑循环订阅而不是使用直接索引,以防有多个订阅。但这仅取决于您如何构建数据并且有点取决于您。
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);