Javascript 为什么我不能通过点符号访问我的对象属性?
我有以下模式:Javascript 为什么我不能通过点符号访问我的对象属性?,javascript,reactjs,Javascript,Reactjs,我有以下模式: const SubmitDebtSchema = new Schema ({ creditCard: String, balance: [{ balanceDate: Date, newBalance: Number }] }); 我正在尝试访问“余额”中的“余额日期” 在React前端中,我将componentDidMount上的状态设置为“debts”,它作为一个空数组启动: this.state = { debts: []
const SubmitDebtSchema = new Schema ({
creditCard: String,
balance: [{
balanceDate: Date,
newBalance: Number
}]
});
我正在尝试访问“余额”中的“余额日期”
在React前端中,我将componentDidMount上的状态设置为“debts”,它作为一个空数组启动:
this.state = {
debts: []
}
然后,我根据是否满足特定标准进行筛选:
const creditCards = this.state.debts.filter((x) => { return x.creditCard === 'true' })
从那里,我想访问每个“余额日期”。我正试图通过地图做到这一点:
const databaseMonth = creditCards.map(x => x.balance.balanceDate)
但是,每次都返回未定义的。。。。。我没有解释为什么
如果我将其更改为:
const databaseMonth = creditCards.map(x => x.balance[x.balance.length - 1].balanceDate)
它完美地返回了数组中的最后一个条目及其平衡日期
那么为什么我的没有长度的“地图”不起作用呢
有人能告诉我如何访问每个余额日期吗
任何反馈都将不胜感激。这是什么样的“模式”,您确定它是准确的吗?它是否与前端接收到的值相匹配?请执行
console.log(JSON.stringify(this.state.debtes))
并将结果发布到这里balanceDate
位于数组中的对象中。您需要在balance
中指定对象的索引才能访问其属性balance[0]。balanceDate
“它成功返回数组中的最后一个条目”-正如您所说,x.balance
是一个数组x.balance[index]。balanceDate
有效,x.balance.balanceDate
无效。这是一个猫鼬模式。该模式是100%准确和有效的。Pilchard也是对的,它是数组中的一个对象,但我如何访问它>“我如何访问每个余额日期”-creditCards.flatMap(x=>x.balances).map(b=>b.balanceDate)
应该是哪种“模式”,你确定它是正确的吗?它是否与前端接收到的值相匹配?请执行console.log(JSON.stringify(this.state.debtes))
并将结果发布到这里balanceDate
位于数组中的对象中。您需要在balance
中指定对象的索引才能访问其属性balance[0]。balanceDate
“它成功返回数组中的最后一个条目”-正如您所说,x.balance
是一个数组x.balance[index]。balanceDate
有效,x.balance.balanceDate
无效。这是一个猫鼬模式。该模式是100%准确和有效的。Pilchard也是对的,它是数组中的一个对象,但如何访问它>“如何访问每个余额日期”-creditCards.flatMap(x=>x.balances).map(b=>b.balanceDate)
应该可以