如何从嵌套对象重新计算对象?
我有一个对象,citem是一个对象。每个对象都具有或时间和时间。
{
Chapter: [
{
Cname: 'chapter 1',
Citems: [{status: 'on', time: 30},{status: 'on', time: 60}],
},
{
Cname: 'chapter 2',
Citems: [{status: 'on', time: 30},{status: 'off', time: 60}]
}
],
name: 'Something',
description: 'jfdgljfgdfjgldfkjglfd'
}
我想从中生成一个数组或对象,以显示每个状态的总时间,例如
{
on: 120,
off: 60
}
我在地图上尝试的,并减少但感到困惑。
I have an object where Citems is an array of Object. Each object has status on or of and time.
{
Chapter: [
{
Cname: 'chapter 1',
Citems: [{status: 'on', time: 30},{status: 'on', time: 60}],
},
{
Cname: 'chapter 2',
Citems: [{status: 'on', time: 30},{status: 'off', time: 60}]
}
],
name: 'Something',
description: 'jfdgljfgdfjgldfkjglfd'
}
I want to generate an array or object from it that show total time for each status like below
{
on: 120,
off: 60
}
I tried with map and reduce but getting confused.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您只需要一个嵌套的“总和”,此处使用
redair()
并利用计算属性使用status status
作为键更新累加器。或使用
for。 ..
循环要将其扩展到此类
章
对象的数组,您可以将其再次嵌套在redaim()
中。You just need a nested 'sum', here implemented using
reduce()
and making use of computed properties to update the accumulator using thestatus
as key.Or using a
for...of
loopTo extend this to an array of such
Chapter
objects you could nest it once more in areduce()
.