第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

循環(huán)遍歷對象數(shù)組,根據(jù)日期是否在當月進行過濾

循環(huán)遍歷對象數(shù)組,根據(jù)日期是否在當月進行過濾

慕運維8079593 2023-09-21 17:29:42
我有以下貓鼬模式:const SubmitDebtSchema = new Schema ({  creditCard: String,  balance: [{    balanceDate: Date,    newBalance: Number  }],});然后我有一個 React 前端,它啟動一個空數(shù)組,并將響應設置為狀態(tài):this.state = {      debts: []    }然后我想過濾這個數(shù)組,如果creditCard === true,則將它們保存在變量中:  const creditCards = this.state.debts.filter((x) => { return x.creditCard === 'true' })接下來,我映射數(shù)組中的每個剩余對象,取出它們的“平衡”對象,并將它們保存在另一個變量中:const databaseBalance = creditCards.map(x => x.balance)如果我控制臺日志databaseBalance,則輸出如下:[[{_id:“5fc4aa02959b1409f2edab69”,newBalance:300,balanceDate:“2020-11-30T08:14:58.035Z”},{_id:“5fc51cb0bd4d9a0f6059bdbe”,newBalance:400,balanceDate:“2020-1 1-30T16:24 :14.390Z"}]]然后我想做的是查看每個 BalanceDate 條目,將它們與某個月份進行比較(當前月份,然后當前月份 - 1,當前月份 - 2 等等),然后將它們存儲在以下變量中:const currentMonthValues = []const currentMonthValuesMinusOne = []const currentMonthValuesMinusTwo = []作為參考,balanceDate 條目存儲為日期對象,如下所示:2020-11-30T08:14:58.035Z存儲到空的 currentMonthValue 中的條目必須是完整的對象 - 并且仍然包含“newBalance”數(shù)據(jù)等。我的問題是...我該怎么做?我一直在絞盡腦汁思考如何做到這一點,但終其一生都無法弄清楚。希望以上內(nèi)容大家都清楚了,如有疑問請留言。編輯:我現(xiàn)在有一個修復...我只需要將數(shù)字減少到總數(shù)。這是工作函數(shù):const currentMonthCreditArray = creditCards.flatMap(x => x.balance.filter(y => (new Date(y.balanceDate).getMonth() === new Date().getMonth())))我現(xiàn)在需要做的是從這個數(shù)組中取出每個“newBalance”,并將它們簡化為一個整體數(shù)字。我嘗試過這樣的事情......const currentMonthFinal = currentMonthCreditArray.flatMap(x => x.balance.map(y => y.newBalance.reduce((a,b) => a + b, 0)))但它出錯了。有什么指點嗎?
查看完整描述

1 回答

?
慕萊塢森

TA貢獻1810條經(jīng)驗 獲得超4個贊

您可以像這樣在地圖中進行過濾:


const currentMonth = creditCards.map((x) => {

  return { ...x, balance: x.balance.filter((y) => new Date().getMonth() - new Date(y.balanceDate).getMonth() <= 1) };

}).filter(i => i.balance.length);



const lessOneMonth = creditCards.map((x) => {

  return { ...x, balance: x.balance.filter((y) => new Date().getMonth() - new Date(y.balanceDate).getMonth() <= 2) };

}).filter(i => i.balance.length);



日期過濾器可能不完全是您想要的,但您應該明白。


我喜歡函數(shù)式編程,但是上面的代碼會做很多循環(huán)。如果這些數(shù)組很大,這可能不是一個很好的解決方案。在這種情況下,看看 Array.reduce() 或舊的 Array.push()


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

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號