【发布时间】:2021-11-29 17:47:54
【问题描述】:
我需要帮助来理解和练习 Js 中的reduce() 方法。
我想在reduce()的帮助下计算每门课程的练习总数。 \
这是正确的方法吗?
s = previousValue ,
p = 当前值,\
更新
正如评论中提到的@Rani Sharim,我必须在部件数组上使用reduce()。
courses.map((course) => { console.log(course.parts.reduce((s, p) => s + p.exercises)) })
const courses = [
{
name: "Half Stack application development",
id: 1,
parts: [
{
name: "Fundamentals ",
exercises: 10,
id: 1,
},
{
name: "Using data",
exercises: 7,
id: 2,
},
{
name: "State ",
exercises: 14,
id: 3,
},
{
name: "React",
exercises: 11,
id: 4,
},
],
},
{
name: "Node.js",
id: 2,
parts: [
{
name: "Routing",
exercises: 3,
id: 1,
},
{
name: "Middlewares",
exercises: 7,
id: 2,
},
],
},
];
【问题讨论】:
-
没有。零件是阵列,不是练习。你需要类似 course.parts.reduce((part, current) => part.exists + current)
-
@RaniSharim 它将不起作用,因为 part 和 current 都是对象,为了避免这样的问题,最好初始化第一个参数
previousValue- 我称之为累加器,用 0
标签: javascript