簡體   English   中英

如何使用Angular.js根據數字值對表格進行排序?

[英]How to sort table as per the number value using Angular.js?

我需要使用Angular.js按照包含某些數字類型值的每一列對表行值進行排序。 我在下面提供我的代碼。

<tr ng-repeat="c in clickSummary">
   <td>{{$index+1}}</td>
   <td>{{c.rest_name}}</td>
   <td>{{c.page_hit}}</td>
   <td>{{c.map_hit}}</td>
   <td>{{c.gallery_hit}}</td>
   <td>{{c.web_hit}}</td>
   <td>{{c.total}}</td>
</tr>   

這里的clickSummary對象包含一些數據數組。上面的表輸出如下所示。

sl no    name    page hit   map hit     gallery hit    web hit    total

1        aaa       1             1         0             1          3

2        bbb       2             2         1              0          5

3        ccc       1             2         3              0           6

4        ddd       1             3         0              0            4

5       eee        2             4         1              2            9

我需要根據total列值進行排序,這意味着它應該以降序排列( 9,6,5,4,3 )。

orderBy按過濾器:

<tr ng-repeat="c in clickSummary | orderBy:['-total','+rest_name'] ">

這是一個現場演示

角度順序通過Docs

通過表達式謂詞對指定數組進行排序。 字符串按字母順序排列,數字按數字順序排列。 注意:如果您發現數字未按預期進行排序,請確保將其實際保存為數字而不是字符串。 還支持類似數組的值(例如,NodeList,jQuery對象,TypedArrays,String等)。

您可以使用|使用angularJS默認過濾器 字符

<tr ng-repeat="c in clickSummary | orderBy:'-total'">
   <td>{{$index+1}}</td>
   <td>{{c.rest_name}}</td>
   <td>{{c.page_hit}}</td>
   <td>{{c.map_hit}}</td>
   <td>{{c.gallery_hit}}</td>
   <td>{{c.web_hit}}</td>
   <td>{{c.total}}</td>
</tr>  

如果要對多個項目進行排序,則可以創建一個數組,例如total和name:

<tr ng-repeat="c in clickSummary | orderBy:['-total','name']">
   <td>{{$index+1}}</td>
   <td>{{c.rest_name}}</td>
   <td>{{c.page_hit}}</td>
   <td>{{c.map_hit}}</td>
   <td>{{c.gallery_hit}}</td>
   <td>{{c.web_hit}}</td>
   <td>{{c.total}}</td>
</tr>  

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM