1

这是我的 components.ts。我想编写一个按计数对数组进行排序的函数,我将使用 html 中的排序数组数据来创建图表。

import { Component } from '@angular/core';
@Component({
  selector: 'dashboard',
  styleUrls: ['./dashboard.scss'],
  templateUrl: './dashboard.html',
})
export class Dashboard {
  private data = [];
  constructor() {
    this.data = [{
      'maxTime': 30041,
      'minTime': 6453,
      'avgTime': 18949,
      'count': 4,
      'requestRouteTemplate': 'api/GetUserPostponesCountReport',
      'requestMethod': 'POST',
    },
  ...
  }
]
4

3 回答 3

2
this.data.sort(function (a, b) {
  return a.count - b.count;
});

来源:https ://developer.mozilla.org/hu/docs/Web/JavaScript/Reference/Global_Objects/Array/sort

或者只是一个 ES6 快捷方式:

data.sort((a, b) => a.count - b.count ); 

因为在一行中您不需要{}也不需要返回并且还允许箭头功能。

于 2017-07-06T13:14:53.873 回答
1

你可以使用sort函数

this.data.sort(function(a,b){
    return a.count - b.count;
});

供参考 -排序

用于调整-plunker

于 2017-07-06T13:11:08.963 回答
0

在您希望按计数显示数据顺序的dashboard.html 文件中实现此功能

像这样:

<tr  *ngFor="#friend in friends| orderBy : ['count']"">
      <td>{{friend.name}}</td>
      <td>{{friend.phone}}</td>
      <td>{{friend.count}}</td>
</tr>
于 2017-07-06T13:13:31.917 回答