gpt4 book ai didi

javascript - 比较两个对象数组JS

转载 作者:行者123 更新时间:2023-12-04 08:36:06 24 4
gpt4 key购买 nike

我有两个由定制对象组成的数组。它们如下所示:


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


我想从每个类(class)的“统计”数组中计算小时的总和。问题是用户添加了类(class),所以我不能说===“设计”,但我必须根据添加的类(class)来比较它们。所以我的问题是:如何计算“统计”数组中每门类(class)的总小时数?有没有办法简单地比较已经添加的类(class)?像所有类(class)一样彼此相等,得到小时数?

最佳答案

我不确定在阅读问题时我是否完全理解您的问题,但这听起来像是您可能可以使用 reduce 函数解决的问题。在此示例中,我们将查看统计信息中的每个条目并合并小时数。

const hoursPerCourse = statistics.reduce((acc, curr) => {
acc[curr.Course] = acc[curr.Course] ? acc[curr.Course] + curr.Hours : curr.Hours

return acc
}, {})
您还可以通过执行以下操作,从该结果中获取 course 数组中每门类(class)的小时数:
courses.map((course) => ({
...course,
hours: hoursPerCourse[course.Course]
}))

关于javascript - 比较两个对象数组JS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64792848/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com