嵌套数组 Vue 中的总计
Total in nested array Vue
我正在使用 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)
我正在使用 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)