The d3.ascending() function in D3.js is a built-in comparator function for the natural order which accepts two parameters and computes their natural order.
Syntax:
d3.ascending(x, y)
Parameters: This function accepts two parameters x, y whose natural order needs to be computed.
Return Value: The function has the following return values:
- Returns -1 if the two values are in ascending order.
- Returns 1 if the two values are in descending order.
- Returns 0 if the two values are equal
- Returns NaN if there are no comparable values, i.e. only one or no parameters are passed to the function.
Below programs illustrate the d3.ascending() function in D3.js.
Example 1:
<!DOCTYPE html> < html >   < head >     < title >D3.js | d3.ascending() function</ title >   </ head >   < body >     < script >         // If the two values are in         // ascending order         document.write(d3.ascending(33, 64) + "< br >"); // -1           // If the two values are in         // descending order         document.write(d3.ascending(42, 24) + "< br >"); // 1           // If the two values are equal         document.write(d3.ascending(43, 43) + "< br >"); // 0     </ script > </ body >   </ html > |
Output:
-1 1 0
Example 2:
<!DOCTYPE html> < html >   < head >     < title >D3.js d3.ascending() function</ title >   </ head >   < body >     < script >         // If no values are passed         document.write(d3.ascending() + "< br >"); // NaN           // If only one value is passed         document.write(d3.ascending(42) + "< br >"); // NaN           // If the two values are equal         document.write(d3.ascending("x", "x") + "< br >"); // 0           // If the two values are in         // ascending order         document.write(d3.ascending("x", "y") + "< br >"); // -1           // If the two values are in         // descending order         document.write(d3.ascending("y", "x") + "< br >"); // 1     </ script > </ body >   </ html > |
Output:
NaN NaN 0 -1 1