2016-04-06 4 views
0

angularJsに新しく、オブジェクトのリストから最大の日付のオブジェクトを取得します。angularJs内のオブジェクトのリストから最高の日付を持つ単一のオブジェクトを取得します。

私は財産CreatedOn(日)と顧客のリストを持っている

私は、これは、フィールドの昇順であなたの配列をソートします単一の顧客を取得し、

customer.CurrentCustomer = true; //// when customer having max date 
+0

ヘルプあなたかもしれhttp://stackoverflow.com/questions/18798568/get-オブジェクトの最大値と最小値 - JavaScript配列 –

+0

[AngularJSのディレクティブスコープの '@'と '='の違いは何ですか?](http://stackoverflow.com/質問/ 14050195/what-is-the-difference-and-in-direct-scope-in​​-angularjs) –

答えて

0
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

使用はorderByFilterあなたが好きなライブラリを使用することができます

function MyCtrl($scope, orderByFilter) { 
$scope.customer = orderByFilter($scope. customers, 'CreatedOn')[0]; 
$scope.customer.CurrentCustomer=true 
} 
0

をangularjsアンダースコア、ラムダ、またはロダシュ。 Lodashを使用した例がRAMDA使用して下記のようとLink

var users = [ 
    { 'user': 'fred', 'age': 48 }, 
    { 'user': 'barney', 'age': 36 }, 
    { 'user': 'fred', 'age': 40 }, 
    { 'user': 'barney', 'age': 34 } 
]; 

_.sortBy(users, ['user', 'age']); 

例では見つけることができます:

var diff = function(a, b) { return a.id > b.id; }; 
R.sort(diff, [ 
    { id: 4 }, 
    { id: 2 }, 
    { id: 7 }, 
    {id: 5} 
]); 
関連する問題