我有一组数据,看起来像这样:
{schedules: {team_name: 'Red', color: '#...', due_date '12-12-2018', yards: []} etc
我有一个函数,它将其分组到一个数组中,并以团队名称作为键,它工作得很好:
setGroupedSchedules(): void {
let groups = {};
let schedules = this.schedules;
for(let schedule of schedules) {
let teamName = (schedule.team ? schedule.team.name : 'Unassigned');
groups[teamName] = !groups[teamName] ? [] : groups[teamName];
groups[teamName].push(schedule);
}
this.grouped = groups;
}
如何才能包含每个分组的team.color?
结果:
<div style="background:team_color">
Team: Red
- Schedule 1
- Yard
- Yard
- Schedule 2
- Yard
</div>
发布于 2018-08-23 07:50:30
也许是这样的?
for(let schedule of schedules) {
let teamName = (schedule.team ? schedule.team.name : 'Unassigned');
let teamColor = (schedule.team ? schedule.team.color : 'Unassigned');
groups[teamName] = !groups[teamName] ? [] : groups[teamName];
colorSchedule = {color: teamColor, team: schedule.team};
groups[teamName].push(colorSchedule);
}
则该方法的结果将如下所示
{
"Red": [
{
"color": "#...",
"team": {
"name": "Red",
"color": "#...",
"due_date": "12-12-2018",
"yards": []
}
}
]
}
这使得您可以更容易地看到每个时间表的颜色?我不确定这是否是你想要的,因为颜色和团队名称已经可以访问了,而不需要运行你的方法。
function setGroupedSchedules() {
let groups = {};
let schedules = [{team: {name: 'Red', color: '#...', due_date: '12-12-2018', yards: []}}];
for(let schedule of schedules) {
let teamName = (schedule.team ? schedule.team.name : 'Unassigned');
let teamColor = (schedule.team ? schedule.team.color : 'Unassigned');
groups[teamName] = !groups[teamName] ? [] : groups[teamName];
colorSchedule = {color: teamColor, team: schedule.team};
groups[teamName].push(colorSchedule);
}
return groups;
}
console.log(setGroupedSchedules())
https://stackoverflow.com/questions/51976191
复制相似问题