【问题标题】:Total in nested array Vue嵌套数组 Vue 中的总计
【发布时间】:2020-11-05 02:30:28
【问题描述】:

我正在使用 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

任何帮助都会很棒,谢谢!

【问题讨论】:

    标签: vue.js multidimensional-array count vue-cli


    【解决方案1】:

    您需要遍历任务数组,过滤活动项目并使用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)
    

    【讨论】:

      猜你喜欢
      • 2021-01-26
      • 2019-04-16
      • 1970-01-01
      • 2020-12-22
      • 1970-01-01
      • 2018-01-26
      • 1970-01-01
      • 1970-01-01
      • 2020-05-27
      相关资源
      最近更新 更多