我想在进行排序(升序和降序)时将所有NaN值保留在末尾-Flex sorting
虽然这两种排序(升序和降序)都应该在数据网格列的底部。
使用自定义排序:
yourArray.sort(AscendingNaNSortingFunction);//For ascending sort.
yourArray.sort(DescendingNaNSortingFunction);//For descending sort.
function AscendingNaNSortingFunction(a:MyObject, b:MyObject):Number {
var aAttribute:Number = a.getMyAttribute();
var bAttribute:Number = b.getMyAttribute();
if(isNaN(aAttribute)){
return 1;
}
else if(isNaN(bAttribute)){
return -1;
}
else if(aAttribute > bAttribute) {
return 1;
} else if(aAttribute < bAttribute) {
return -1;
} else {
//aAttribute == bAttribute
return 0;
}
}
function DescendingNaNSortingFunction(a:MyObject, b:MyObject):Number {
var aAttribute:Number = a.getMyAttribute();
var bAttribute:Number = b.getMyAttribute();
if(isNaN(aAttribute)){
return 1;
}
else if(isNaN(bAttribute)){
return -1;
}
else if(aAttribute > bAttribute) {
return -1;
} else if(aAttribute < bAttribute) {
return 1;
} else {
//aAttribute == bAttribute
return 0;
}
}