2 回答
TA贡献1820条经验 获得超2个赞
我不确定在阅读问题时我是否完全理解您的问题,但这听起来像是您可以通过减少函数来解决的问题。在此示例中,我们将遍历统计数据中的每个条目并合并小时数。
const hoursPerCourse = statistics.reduce((acc, curr) => {
acc[curr.Course] = acc[curr.Course] ? acc[curr.Course] + curr.Hours : curr.Hours
return acc
}, {})
您还可以通过执行以下操作从该结果中获取课程数组中每门课程的小时数:
courses.map((course) => ({
...course,
hours: hoursPerCourse[course.Course]
}))
TA贡献1995条经验 获得超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'))
添加回答
举报