我使用titanium studio来构建ios应用程序。我有一个网络服务,它向我发送:
data:[{"date":"2012-07-04" ...},{"date":"2012-06-04" ...},{"date":"2012-05-04" ...} ...]
我想在添加/显示数据之前按日期对数据进行排序,如下所示的表格视图:
--------------------------------------------
第 1 排 : 2012-O7-04
--------------------------------------------
排 2 : 2012-O7-01
--------------------------------------------
排 3 : 2012-O4-04
--------------------------------------------
第四排 : 2012-O1-07
--------------------------------------------
排 5 : 2011-12-31 有 4 个孩子
--------------------------------------------
当我点击第 5 行时,它会显示他的孩子:
---------------------------------
儿童 1 : 2011-12-31
---------------------------------
儿童 2 : 2011-12-31
---------------------------------
儿童3 : 2011-12-31
---------------------------------
儿童 4 : 2011-12-31
---------------------------------
我该怎么做?
谢谢
您可以使用此函数对数组进行排序,
var feedArray = [
{title: 'Feed 1', desc: 'Desc 1', date: '2012-04-10'},
{title: 'Feed 2', desc: 'Desc 2', date: '2012-04-12'},
{title: 'Feed 3', desc: 'Desc 3', date: '2012-03-18'}
];
function findFeedByDate(d) {
for(var i = 0; i < feedArray.length; i++) {
if ( d == feedArray[i].date ) {
return feedArray[i];
}
}
}
// Grab date from feed, push it to array, then use Array.sort() to sort array
var dateArray = [];
for(var i = 0; i < feedArray.length; i++) {
dateArray.push(feedArray[i].date);
}
dateArray = dateArray.sort();
Ti.API.info( dateArray );
var sortedFeedArray = [];
var date = null;
// for(var i = 0; i < dateArray.length; i++) { // ASC Sorting
for(var i = dateArray.length - 1; i >= 0 ; i--) { // DESC Sorting
sortedFeedArray.push(
findFeedByDate( dateArray[i] )
);
}
Ti.API.info( sortedFeedArray );
有关更详细的解决方案,请查看此链接: 在钛工作室中按日期对表视图行进行排序