method sort

void sort(object valueComparator,value comparatorContext);

Argumente

Zurückgegebener Wert

This method performs an inplace, unstable sort. The method uses the method defined in valueComparator protocol for comparison. For convenience, a helper comparator is provided to perform some standard sorts. See the comparator class for details.
function myComparator()
{
	this.compareValues = compareValuesFunc;
	this.animalSize = myAnimalSizeChart;
}

function myAnimalSizeChart(animal)
{
    var size = 0;
    if (animal == "dog")
    {
        size = 10;
    }
    if (animal == "cat")
    {
        size = 5;
    }
    if (animal == "mouse")
    {
        size = 2
    }
    return size;
}

function compareValuesFunc(elem1, elem2, comparatorContext)
{
    var creature1_size = myAnimalSizeChart(elem1);
    var creature2_size = myAnimalSizeChart(elem2);
    var comparison = creature1_size - creature2_size;
    
    if (comparatorContext == "bySizeAscending")
    {
        comparison *= (-1);    
    }
    return comparison;
}


function main()
{
    var arrayObj = shell.serviceManager.basics.array;
    var myOwnComparator = new myComparator();
    
    arrayObj.addValue("dog");
    arrayObj.addValue("cat");
    arrayObj.addValue("mouse");
    arrayObj.addValue("cat");
    
    //The resulting array will be "dog" "cat" "cat" "mouse"
    arrayObj.sort(myOwnComparator, "bySizeAscending");
    
    //The resulting array will be "mouse" "cat" "cat" "dog"
    arrayObj.sort(myOwnComparator, "bySizeDescending");
    
    var comparatorObj = shell.serviceManager.basics.comparator;
    
    //The resulting array will be "cat" "cat" "dog" "mouse"
    arrayObj.sort(comparatorObj.stringAscending, "en-US");
    
    //By default, when passing in "" as the comparatorContext for 
    //string comparators, the propogated locale is used, such as:
    //  arrayObj.sort(comparatorObj.stringAscending, "");
}