首页 > 解决方案 > 如何以角度对带有姓氏的列表进行排序?

问题描述

我在 Angular 2 中制作了一个项目列表。我想使用custom fliter或使用对该列表进行pipe排序。我们可以使用 对我的列表进行排序吗lastname。我试过这样

<ul *ngFor="let user of userList | lastname" class="userlist">
  <li>
    <span>{{user.name}}</span>
    <span>{{user.lastname}}</span>
    <span>{{user.age}}</span>
  </li>
</ul>

但它给了我错误所以恢复请建议一种方法来排序 https://stackblitz.com/edit/angular-fdxser?file=src%2Fapp%2Fapp.component.html

标签: javascriptangular

解决方案


这是管道的外观(来自您的链接)

姓氏.pipe.ts:

import { Pipe, PipeTransform } from '@angular/core';

@Pipe({
  name: 'lastname'
})
export class LastnamePipe implements PipeTransform {

  transform(values: any[]): any[] {
    return values.sort((a, b) => a.lastname.localeCompare(b.lastname));
  }
}

如果你想要它.reverse();,在返回语句中添加一个或者做b.lastname.localeCompare(a.lastname)


推荐阅读