gpt4 book ai didi

javascript - OrderBy 在 AngularJS 中没有按预期工作

转载 作者:行者123 更新时间:2023-12-03 10:05:04 25 4
gpt4 key购买 nike

我想根据日期按升序显示 json 对象。为此,我正在使用 OrderBy,但没有按预期工作,它在 10 月之前都可以正常工作,但 11 月和 12 月却无法工作。

HTML 页面:

<li class="row-fluid" style="height: 65px !important;" ng-repeat="item in insertionListItems | index | orderBy: 'insDate': false" ng-class="{'selected': item.$selected}" ng-click="item.$selected = true; onListItemClicked(item)">
<div class="col-sm-12 cdm-list-item-content">
<div>
<span class="col-sm-6" style="padding-left: 0px">{{item.insDate}}</span>
<span class="col-sm-6" style="padding-left: 0px">{{item.netTotal |number:2}}</span>
</div>
</div>
</li>

Json结构

    insertionListItems  = [
{
"index": 0,
"insDate": "5-4-2015",
"insName": "Insertion 1",
"netTotal": -474299.15
},
{
"index": 1,
"insDate": "6-10-2015",
"insName": "Insertion 2",
"netTotal": 1000
},
{
"index": 2,
"insDate": "1-22-2015",
"insName": "Insertion 3",
"netTotal": 100
},
{
"index": 3,
"insDate": "12-11-2015",
"insName": "Insertion 4",
"netTotal": 500
}
]

最佳答案

这里的问题是 orderBy 过滤器正在排序像 "6-10-2015" 这样的字符串值,但不是真正的日期对象。因此正在发生正常的字符串比较,这与日期比较完全不同。

因此,如果您将“11-21-2014”和“10-21-2014”作为字符串进行比较,它不会给出您预期的结果。

因此,您必须将每个项目中的日期解析为日期对象,然后只有您可以应用 orderBy 过滤器。

关于javascript - OrderBy 在 AngularJS 中没有按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30396898/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com