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

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

比較兩個對象數(shù)組 JS

比較兩個對象數(shù)組 JS

寶慕林4294392 2023-07-29 15:08:29
我有兩個由定制對象組成的數(shù)組。它們看起來像下面這樣:courses: [{Course: "Design", ECST: 5}, {Course: "Construction", ECTS: 10}],statistics: [{Course: "Design", Hours: 2}, {Course: "Design", Hours: 2}, {Course: "Construction", Hours: 2},{Course: "Construction", Hours: 2},],我想從每門課程的“統(tǒng)計”數(shù)組中計算小時數(shù)總和。問題是用戶添加了課程,所以我不能說===“設(shè)計”,但我必須根據(jù)添加的課程來比較它們。所以我的問題是:如何計算“統(tǒng)計”數(shù)組中每門課程的總學(xué)時數(shù)?有沒有辦法簡單地比較已經(jīng)添加的課程?就像所有課程都彼此相等一樣,了解小時數(shù)嗎?
查看完整描述

2 回答

?
DIEA

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

我不確定在閱讀問題時我是否完全理解您的問題,但這聽起來像是您可以通過減少函數(shù)來解決的問題。在此示例中,我們將遍歷統(tǒng)計數(shù)據(jù)中的每個條目并合并小時數(shù)。


const hoursPerCourse = statistics.reduce((acc, curr) => {

    acc[curr.Course] = acc[curr.Course] ? acc[curr.Course] + curr.Hours : curr.Hours


    return acc

}, {})

您還可以通過執(zhí)行以下操作從該結(jié)果中獲取課程數(shù)組中每門課程的小時數(shù):


courses.map((course) => ({

    ...course,

    hours: hoursPerCourse[course.Course]

}))


查看完整回答
反對 回復(fù) 2023-07-29
?
拉風(fēng)的咖菲貓

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

你可以簡單地嘗試這樣


Array.prototype.sum = function(matchKey, matchValue, sumKey) {

  var total = 0

  for (var i = 0; i < this.length; i++) {

    if (this[i][matchKey].toLowerCase() === matchValue.toLowerCase())

      total += this[i][sumKey]

  }

  return total

}


console.log(statistic.sum('Course', 'design', 'Hours'))


查看完整回答
反對 回復(fù) 2023-07-29
  • 2 回答
  • 0 關(guān)注
  • 165 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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