gpt4 book ai didi

javascript - 按日期过滤 Angular 排序

转载 作者:行者123 更新时间:2023-11-30 00:04:30 26 4
gpt4 key购买 nike

大家好,我是 Angular 的初学者。我在使用 orderBy 过滤器进行日期比较时遇到问题。问题是过滤器不考虑月份和年份。以下是代码片段(也可在 fiddle 上找到)

脚本

var list = [
{
name: 'Jon',
joining_date:'23/10/2015',
age: 23
}, {
name:'Viki',
joining_date:'24/01/2015',
age: 20
}, {
name: 'Abc',
joining_date:'25/10/2015',
age: 43
}, {
name: 'XYZ',
joining_date:'28/10/2015',
age: 21
}
];

var empApp = angular.module('emp-list', []);
empApp.controller('emp-table',function($scope){
$scope.data = list;
})

HTML

<div ng-app="emp-list">
<div class="search-box">
<input type="text" ng-model="searchKeyword"></input>
</div>
<div ng-controller="emp-table">
<table width="100%">
<tr>
<th width="33%">Name</th>
<th width="33%">Joining Date</th>
<th width="33%">Age</th>
</tr>
<tr ng-repeat="lists in data | filter: searchKeyword | orderBy : 'joining_date'">
<td>{{lists.name}}</td>
<td>{{lists.joining_date}}</td>
<td>{{lists.age}}</td>
</tr>
</table>
</div>
</div>

结果

Name    Joining Date    Age
Jon 23/10/2015 23
Viki 24/01/2015 20
Abc 25/10/2015 43
XYZ 28/10/2015 21

最佳答案

这是因为您的joining_date 是一个字符串而不是Date 对象。结果 orderBy 将它们作为字符串进行比较。这是您的固定示例:https://jsfiddle.net/bocn0vrb/1/ .

您还可以使用自定义函数将这些字符串与某些转换进行比较。查看文档页面:https://docs.angularjs.org/api/ng/filter/orderBy .

关于javascript - 按日期过滤 Angular 排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39044847/

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