in JavaScript , we can use `array.sort((a, b) => a-b)`

to sort the array in increasing order.

I know that we pass a function into the sort to customize it.

array.sort( function(a, b) { return a - b })

function compare(a, b) { if (a < b ) { return -1; } if (a > b ) { return 1; } // otherwise a == b return 0; } // or like here var array = [2,1,11]; array.sort(compare);

It is said when `a - b = positive value`

, then place `b`

in the first, like (b, a) descending order. I wonder how this `positive value`

influence the order of sort ? If it is said `-1`

means the increasing, `1`

means the descreasing ?

## Answer

The sort function applies some kind of sorting algorithm such as bubble sort or quicksort to the data.

These algorithms all repeatedly compare two values in the array until the whole array is sorted. (Different algorithms select pairs for comparison in different ways).

The function you pass to `sort`

is used to do that comparison. It calls the function and passes in the pair it is comparing as `a`

and `b`

.

It expects your function to return a negative number, a positive number or 0 to say which should be moved to be “first” (or `0`

if they are “the same” and shouldn’t be moved).