使用下划线countBy表示数组中对象的嵌套属性

时间:2017-03-15 13:53:04

标签: javascript arrays count group-by underscore.js

在javascript中,我有一系列对象,如下所示:

[
  {
    "fields": {
      "assignee": {
        "email": "emailid1",
        "name": "name1"
      }
    }
  },
  {
    "fields": {
      "assignee": {
        "email": "emailid2",
        "name": "name2"
      }
    }
  },
  {
    "fields": {
      "assignee": {
        "email": "emailid1",
        "name": "name1"
      }
    }
  }
]

现在我想根据电子邮件分组/计算对象数量。 因此,对于上面的对象数组,它应该返回以下内容:

emailid1 : 2
emialid2 : 1

无论如何使用underscore.js这样做?我发现underscore countby很有用,但在这种情况下无法弄清楚如何使用它,因为我在这里有嵌套的对象属性。

1 个答案:

答案 0 :(得分:3)

以下实现返回{emailid1: 2, emailid2: 1}

_.countBy(data, function(e) { 
  return e.fields.assignee.email 
})