我正在使用jLinq来查询Array
Objects
的{{1}}
这是我Array
的{{1}}:
Objects
这是我的疑问:
wo:
[{ ID: 1, 'CreatedYM': '2015-Jun'},
{ ID: 2, 'CreatedYM': '2014-May'},
{ ID: 3, 'CreatedYM': '2015-Jan'},
{ ID: 4, 'CreatedYM': '2015-Aug'},
{ ID: 5, 'CreatedYM': '2014-Dec'}]
我希望它返回按CreatedYM排序的数组,如下所示:
jlinq.from( wo ).group( "CreatedYM" );
有可能吗?
答案 0 :(得分:2)
您可以使用Array.sort函数
对数组进行排序var arr = [{ ID: 1, 'CreatedYM': '2015-Jun'},
{ ID: 2, 'CreatedYM': '2014-May'},
{ ID: 3, 'CreatedYM': '2015-Jan'},
{ ID: 4, 'CreatedYM': '2015-Aug'},
{ ID: 5, 'CreatedYM': '2014-Dec'}
];
var sortedarr = arr.sort(function(a,b){
// convert them into dates
var d1 = new Date(Date.parse(a.CreatedYM));
var d2 = new Date(Date.parse(b.CreatedYM));
return d1 > d2 ? 1 // if d1 > d2 return 1
: d1 < d2 ? -1 // if d1 < d2 return -1
: 0; // else return 0
});
或更短的版本
var sortedarr = arr.sort(function(a,b){
return new Date(Date.parse(a.CreatedYM)) - new Date(Date.parse(b.CreatedYM));
});
答案 1 :(得分:1)
&#39; 2014-五月&#39;可能不是一个有效的约会时间...(即不能排序) 首先使用有效的日期时间填充数组,例如&#39; 2014/05/01 39#;然后你可以对它进行排序,最后投影(选择)格式为YYYY-MM ... jlinq.from(wo).sort(&#34; CreatedYM&#34;)。group(&#34; CreatedYM&#34;)通过他们的文件