在进行排序(升序和降序)-Flex排序时,我想将所有NaN值保留在末尾



我想在进行排序(升序和降序)时将所有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;
    }
}

最新更新