0

我使用钛工作室来构建一个 ios 应用程序。我有一个发送给我的网络服务:

数据:[{“日期”:“2012-07-04” ...},{“日期”:“2012-06-04” ...},{“日期”:“2012-05-04”。 ..} ...]

我想在添加/显示它们之前按日期对数据进行排序,如下所示:

------------------------------------------

第 1 行:2012-O7-04

------------------------------------------

第 2 行:2012-O7-01

------------------------------------------

第 3 行:2012-O4-04

------------------------------------------

第 4 行: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

---------------------------------

我该怎么做 ?

谢谢

4

1 回答 1

0

您可以使用此函数对数组进行排序,

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 );

有关更详细的解决方案,请查看此链接:在 Titanium Studio 中按日期排序 TableView Row

于 2012-07-04T18:56:33.750 回答