* Sort an array of numbers by their numeric value, ensuring that the * array is not changed in place. * * This is necessary because the default behavior of .sort * in JavaScript is to sort arrays as string values * * [1, 10, 12, 102, 20].sort() * // output * [1, 10, 102, 12, 20]
(x)
| 16 | * numericSort([3, 2, 1]) // => [1, 2, 3] |
| 17 | */ |
| 18 | function numericSort(x) { |
| 19 | return ( |
| 20 | x |
| 21 | // ensure the array is not changed in-place |
| 22 | .slice() |
| 23 | // comparator function that treats input as numeric |
| 24 | .sort(function (a, b) { |
| 25 | return a - b; |
| 26 | }) |
| 27 | ); |
| 28 | } |
| 29 | |
| 30 | export default numericSort; |
no outgoing calls
no test coverage detected