Ego*_*ich 6 javascript group-by filter aurelia
我正在寻找做某事的方法
JS
$scope.players = [
{name: 'Gene', team: 'alpha'},
{name: 'George', team: 'beta'},
{name: 'Steve', team: 'gamma'},
{name: 'Paula', team: 'beta'},
{name: 'Scruath', team: 'gamma'}
];
Run Code Online (Sandbox Code Playgroud)
HTML:
<ul repeat.for="obj of players | groupBy: 'team'">
Group name: ${obj.group}
<li repeat.for="player of obj.values">
player: ${player.name}
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
有可能吗?或者以Aurelia方式做这种逻辑的更好方法是什么?
你可以用一个ValueConverter.
export class GroupByValueConverter {
toView(array, groupBy) {
var groups = {};
array.forEach(function (o) {
var group = o[groupBy];
groups[group] = groups[group] || [];
groups[group].push(o);
});
return Object.keys(groups).map(function (group) {
return {
group: group,
values: groups[group]
};
})
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
654 次 |
| 最近记录: |