在angular2中按姓氏排序

时间:2017-04-10 16:52:42

标签: angular ionic2

我希望按其最后一个姓名对联系人列表进行排序,并在每个字母表下添加名称列表。它可以在jquery和angular-1中轻松完成,但是如何在Angular2 / Ionic V2中实现逻辑呢?

2 个答案:

答案 0 :(得分:3)

创建一个管道,并为您需要的值排序。

请参阅此示例:

import { Pipe } from "angular2/core";
import {Todo} from './todo';

@Pipe({
  name: "sort"
})
export class TodosSortPipe {
  transform(array: Array<Todo>, args: string): Array<Todo> {
    // Do YOUR LOGIC HERE, like this code below

    array.sort((a: any, b: any) => {
      if (a < b) {
        return -1;
      } else if (a > b) {
        return 1;
      } else {
        return 0;
      }
    });
    return array;
  }
}

然后像:

一样使用它
*ngFor="let item of array | sort"

来源:

  

Angular 2 OrderBy Pipe

官方文件:

  

https://angular.io/docs/ts/latest/guide/pipes.html

答案 1 :(得分:2)

所以你可以这样做我在我的应用程序中完成了这个以组织联系人列表。在代码&#34;数据&#34;是联系人列表。然后&#34; a.last_name&#34;是如何根据您设置联系人列表对象的方式访问姓氏类别。希望它有所帮助,这将使订购后的数据对象。

  data.sort(function (a, b) {
        return a.last_name.localeCompare(b.last_name);
    })