angularJs的新手,想要从对象列表中获取最大日期对象。
我拥有属性CreatedOn(日期)
的客户列表我想获得单个客户并设置属性
customer.CurrentCustomer = true; //// when customer having max date
答案 0 :(得分:1)
customers.sort(function(a,b) {
return new Date(a.CreatedOn).getTime() - new Date(b.CreatedOn).getTime()
});
这将按字段CreatedOn按升序对数组进行排序。
然后你可以选择最后一项:
customers[customers.length - 1]
因此设置了CurrentCustomer:
customers[customers.length - 1].CurrentCustomer = true;
答案 1 :(得分:1)
使用angularjs orderByFilter
function MyCtrl($scope, orderByFilter) {
$scope.customer = orderByFilter($scope. customers, 'CreatedOn')[0];
$scope.customer.CurrentCustomer=true
}
答案 2 :(得分:1)
您可以使用Underscore,Ramda或Lodash等库。使用Lodash的示例可以在下面和Link
中找到menu item
使用Ramda的一个例子:
var users = [
{ 'user': 'fred', 'age': 48 },
{ 'user': 'barney', 'age': 36 },
{ 'user': 'fred', 'age': 40 },
{ 'user': 'barney', 'age': 34 }
];
_.sortBy(users, ['user', 'age']);