亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從數組中提取對象時減少函數返回 NaN - MongoDB 數據庫

從數組中提取對象時減少函數返回 NaN - MongoDB 數據庫

慕萊塢森 2023-06-15 16:16:22
我有以下架構:const SubmitDebtSchema = new Schema ({  balance: [{    balanceDate: Date,    newBalance: Number  }],});我試圖遍歷我的數據庫條目,從余額數組中的每個對象中拉出“newBalance”,然后將它們歸約/求和。但是,它正在返回“NaN”——我不明白為什么。這是我獲取數據的 Axios 調用:  componentDidMount() {    axios.get("/api/fetch/fetchDebtCards")    .then((response) => {      this.setState({        debts: response.data      })      console.log(this.state.debts.balance.newBalance)    })  }那里的控制臺日志成功檢索了數據庫條目。這是我的減少功能:const sumBalance = this.state.debts.reduce(function(previousValue, currentValue) {          return (            previousValue + currentValue.balance.newBalance          )        }, 0)您可以看到,我正在嘗試利用“balance.newBalance”來訪問每個余額對象中的 newBalance。誰能指出我做錯了什么?編輯:我的控制臺日志,有兩個條目。我想要做的是從中獲取 newBalance array.length -1,然后通過減少將它們加在一起。[日志]數組0 對象余額:[{_id:“5fbbddd1077c56000828973c”,balanceDate:“2020-11-23T16:05:36.124Z”,newBalance:400}]1 對象余額:[{_id: "5fbc06f58b2f98000865df54", balanceDate: "2020-11-23T19:01:07.789Z", newBalance: 300}] (1)
查看完整描述

1 回答

?
湖上湖

TA貢獻2003條經驗 獲得超2個贊

如果“console.log(this.state.debts.balance.newBalance)”有效,則債務不是數組,那么您如何在債務上使用地圖?Map 只能用于數組。

我不確定您的債務對象/數組到底是怎樣的。也許它的日志會有所幫助。

如果它是一個數組,那么這可能會起作用。

const sumBalance = this.state.debts.map(x => x.balance).flat().reduce((a,b) => a + b.newBalance, 0)

而如果它是一個對象,那么這可能會起作用

const sumBalance = this.state.debts.balance.reduce((a,b) => a+b.newBalance, 0)

如果這些都不起作用,只需記錄“this.state.debts”,讓我們看看你有什么。

編輯:好的,所以你只需要余額數組的最后一個值(最新余額),像這樣?

const sumBalance = this.state.debts.map(x => x.balance[x.balance.length-1].newBalance).reduce((a,b) => a + b, 0)


查看完整回答
反對 回復 2023-06-15
  • 1 回答
  • 0 關注
  • 125 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號