首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Group by数组密钥

Group by数组密钥
EN

Stack Overflow用户
提问于 2018-08-23 06:48:56
回答 1查看 62关注 0票数 1

我有一组数据,看起来像这样:

代码语言:javascript
复制
{schedules: {team_name: 'Red', color: '#...', due_date '12-12-2018', yards: []} etc

我有一个函数,它将其分组到一个数组中,并以团队名称作为键,它工作得很好:

代码语言:javascript
复制
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?

结果:

代码语言:javascript
复制
<div style="background:team_color">
Team: Red 
- Schedule 1
 - Yard
 - Yard
- Schedule 2
 - Yard
</div>
EN

回答 1

Stack Overflow用户

发布于 2018-08-23 07:50:30

也许是这样的?

代码语言:javascript
复制
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);
}

则该方法的结果将如下所示

代码语言:javascript
复制
{
  "Red": [
    {
      "color": "#...",
      "team": {
        "name": "Red",
        "color": "#...",
        "due_date": "12-12-2018",
        "yards": []
      }
    }
  ]
}

这使得您可以更容易地看到每个时间表的颜色?我不确定这是否是你想要的,因为颜色和团队名称已经可以访问了,而不需要运行你的方法。

代码语言:javascript
复制
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())

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51976191

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档