【发布时间】:2019-06-20 20:48:20
【问题描述】:
我的状态有一个数组:
projects: [
{ title: 'todo 1', person: 'Sam', status: 'ongoing'},
{ title: 'project', person: 'Jack', status: 'complete' },
{ title: 'Design video', person: 'Tim', status: 'complete' },
{ title: 'Create a forum', person: 'Jade', status: 'overdue' },
{ title: 'application', person: 'Jade', status: 'ongoing'},],
从这个数组(项目)中,我想用 Javascript 生成一个新数组并得到这个结果:
totalByPersonAndStatus : [
{person : 'Sam', complete: 0, ongoing: 1, overdue: 0 },
{person : 'Jack', complete: 1, ongoing: 0, overdue: 0 },
{person : 'Tim', complete: 1, ongoing: 0, overdue: 0 },
{person : 'Jade', complete: 0, ongoing: 1, overdue: 1 },]
我试过了
totalProjectsByPersonAndStatus: state => {
state.projects.forEach(name => {
state. totalByPersonAndStatus["name"] = name.person;
});
return state. totalByPersonAndStatus;
问题,如果创建一个console.log(this.totalByPersonAndStatus) 我有一个对象只有projects.name [name: "Jade", __ob__: Observer]的数据
你能帮帮我吗? 谢谢
【问题讨论】:
-
到目前为止你尝试过什么?请提供代码。
-
我认为答案是“是的,你可以得到帮助”以及“帮助我,通过展示你被困在哪一部分来帮助你”
-
您向
totalByPersonAndStatus数组添加了一个name字段,但您没有添加complete、ongoing或overdue字段,也没有任何逻辑来指示它们的值应该如何到达在。
标签: javascript arrays object for-loop