a8m / angular-filter

Bunch of useful filters for AngularJS (with no external dependencies!)
https://github.com/a8m/angular-filter
MIT License
2.93k stars 332 forks source link

groupBy: If property is undefined or null, do not group it together #220

Open ericjames opened 8 years ago

ericjames commented 8 years ago

Undefined or null implies the property is not set meaning do not group it, it is unique. This uses the key property, prefixed with _$ to assign it a unique placeholder value and then assign the element itself to that value.

Therefore ng-repeat

[
{  "color": "red" },
{  "color": "red" },
{  "color": null }
]

Groups into:

[{
    "red": [{
        "color": "red"
    }, {
        "color": "red"
    }]
}, {
    "_$3": [{
        "color": null
    }]
}]