您的位置:首页 > 其它

排序

2016-01-08 11:31 302 查看
/**
* 排序处理
* @param    ob1
* @param    ob2
* @return
*/
private var sortType:String;

private function sort_handle(ob1:Object, ob2:Object):Number
{
var result1:int;
var result2:int;
switch (sortType)
{
case "quality":
result1 = ob1.isBattle * 1000 + ob1.constData.quality * 10000 + ob1.addData.star * 100 + ob1.addData.level;
result2 = ob1.isBattle * 1000 + ob2.constData.quality * 10000 + ob2.addData.star * 100 + ob2.addData.level;
break;
case "star":
result1 = ob1.isBattle * 1000 + ob1.constData.quality * 100 + ob1.addData.star * 10000 + ob1.addData.level;
result2 = ob2.isBattle * 1000 + ob2.constData.quality * 100 + ob2.addData.star * 10000 + ob2.addData.level;
break;
case "level_up":
result1 = ob1.isBattle * 1000 + ob1.constData.quality * 100 + ob1.addData.star + ob1.addData.level * 10000;
result2 = ob2.isBattle * 1000 + ob2.constData.quality * 100 + ob2.addData.star + ob2.addData.level * 10000;
break;
case "level_down":
result1 = ob1.isBattle * 1000 + ob1.constData.quality * 100 + ob1.addData.star + (100 - ob1.addData.level + 100) * 10000;
result2 = ob2.isBattle * 1000 + ob2.constData.quality * 100 + ob2.addData.star + (100 - ob2.addData.level + 100) * 10000;
break;
default:
result1 = ob1.isBattle * 10000 + ob1.constData.quality * 1000 + ob1.addData.star * 100 + ob1.addData.level * 10;
result2 = ob2.isBattle * 10000 + ob2.constData.quality * 1000 + ob2.addData.star * 100 + ob2.addData.level * 10;
break;
}
if (result1 > result2)
{
return -1;
}
else if (result1 == result2)
{
return 0;
}
return 1;
}


调用

var _result:Array;
_result = after_filter_arr.sort(sort_handle);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: