Lava Filters - GroupBy

Category:Arrays

Description:Takes a collection of items and groups them by the specified property tree value.
Input: "Members": [ { "GroupRole": { "Name": "Member" }, "Person": { "FirstName": "Alex" } }, { "GroupRole": { "Name": "Leader" }, "Person": { "FirstName": "Ted" } }, { "GroupRole": { "Name": "Member" }, "Person": { "FirstName": "Cindy" } } ]
Lava: {% assign groupedMembers = Members | GroupBy:'GroupRole.Name' %}
    {% for group in groupedMembers %} {% assign parts = group | PropertyToKeyValue %}
  • {{ parts.Key }}
    • {% for member in parts.Value %}
    • {{ member.Person.FirstName }}
    • {% endfor %}
    {% endfor %}
Output:
  • Leader
    • Ted
  • Member
    • Alex
    • Cindy