2 回答

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]
}))

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'))
添加回答
舉報