我正在尝试在将 json 提要插入表格视图之前对其进行排序。我有一个在 iOS 上运行良好的方法,但是当我尝试在 android 上实现相同的代码时,它只会排序一次。
我需要为应用程序对数据进行至少两次排序。
Ti.App.addEventListener('get.stands', function(d) {
jsonArray = JSON.parse(d.responseText);
var hockey = jsonArray;
//alert('Hockey Standings');
//Ti.API.info('My data is..' + hockey);
function sortBy(prop) {
return function(a, b) {
if (a[prop] > b[prop]) {
return -1;
} else if (a[prop] < b[prop]) {
return 1;
}
return 0;
}
//hockey.sort(sortBy('conference'));
//hockey.sort(sortBy('points'));
}
var data = [];
hockey.sort(sortBy('points'));
hockey.sort(sortBy('division'));
hockey.sort(sortBy('conterence'));
//myPoints.sort(function(a,b){return a - b;});
var addRow = function(obj) {
var teamPoint = parseInt(obj.points);
var row = Ti.UI.createTableViewRow({
backgroundColor : '#fff',
//hasChild : true,
height : '50dp',
width : Ti.UI.SIZE
});
var myTeam = Ti.UI.createLabel({
color : '#000',
font : {
fontSize : 16,
fontWeight : 'bold'
},
height : Ti.UI.SIZE,
highlightedColor : '#fff',
left : '55dp',
top : '0dp',
text : obj.team,
width : Ti.UI.SIZE
});
var teamPoints = Ti.UI.createLabel({
color : '#666',
font : {
fontSize : 14
},
height : Ti.UI.SIZE,
highlightedColor : '#ddd',
left : '55dp',
top : '20dp',
text : 'Points: ' + teamPoint.toFixed(0),
//top: 5,
width : Ti.UI.SIZE
});
var teamImage = Ti.UI.createImageView({
image : 'http://www.corliosity.com/json/' + obj.img,
left : '0dp',
top : '0dp',
height: 50,
width: 50
});
if (obj.conference)
{
row.add(myTeam);
}
if (obj.team)
{
row.add(myTeam);
row.add(teamPoints);
row.add(teamImage);
}
return row;
};
var intItem = 0, intItems = hockey.length, strLastDivision = '', row;
for ( intItem = 0; intItem < intItems; intItem = intItem + 1) {
var bgcolor = (intItem % 2) ? '#fff' : "#ccc";
row = addRow(hockey[intItem]);
if (strLastDivision !== hockey[intItem].division) {
strLastDivision = hockey[intItem].division;
row.header = hockey[intItem].division;
}
data.push(row);
row.setBackgroundColor(bgcolor);
};
var tbl = Ti.UI.createTableView({
data : data,
height : Ti.UI.FILL,
//minRowHeight: 80,
//search: search,
//style : Ti.UI.iPhone.TableViewStyle.GROUPED,
width : Ti.UI.FILL
});
win.add(tbl);
});
JSON 代码将如下所示
[{"team":"team1", "points":"18", "division":"west","conference":"west"}, {"team":"team2","points":"23","division":"south","conference":"east"}]
提前谢谢你的帮助