嵌套数组Vue中的总数

YJay:

我正在使用vue-cli,并且试图弄清楚如何在Tasks数组中获得活动总数。

Tasks: [ 
            {name: 'Sam',  available: [{active: 'yes', day:'Mon'},{active: 'yes', day:'Tues'}]},
            {name: 'Yoko', available: [{active: 'yes', day:'Mon'}]},
            {name: 'Alec', available: [{active: 'yes', day:'Wed'},{active: 'yes', day:'Thurs'}]},
            {name: 'Pat',  available: [{active: 'yes', day:'Tues'},{active: 'yes', day:'Thurs'} ]}
       ]
 
Expected output:
Total: 7

任何帮助将是巨大的,谢谢!

丹尼尔:

您需要遍历任务数组,过滤活动项并使用reduce方法对其求和:

const tasks = [ 
  {name: 'Sam',  available: [{active: 'yes', day:'Mon'},{active: 'yes', day:'Tues'}]},
  {name: 'Yoko', available: [{active: 'yes', day:'Mon'}]},
  {name: 'Alec', available: [{active: 'yes', day:'Wed'},{active: 'yes', day:'Thurs'}]},
  {name: 'Pat',  available: [{active: 'yes', day:'Tues'},{active: 'yes', day:'Thurs'} ]}
];

const total = tasks.reduce((sum, task) => {
    return sum + (task.available.filter(item => item.active === 'yes')).length
}, 0)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章