How to sort an array of numbers in JavaScript?

Published October 29, 2020

To sort an array of numbers in JavaScript, you can use the sort() method on the array object.

Sort the array in ascending order

To sort the numbers array in ascending order, you have to pass a function to the sort() method to customize its behavior, and the function will be passed 2 elements a and b while iterating.

You have to subtract a-b and return the result.

// array of numbers
const numArr = [34, 56, 78, 90, 4, 5, 6, 34];

// sort array
// in ascending order
numArr.sort((a, b) => {
  return a - b;
});

console.log(numArr); // [4, 5, 6, 34, 34, 56, 78, 90]

Here a is the second element of the current iteration and b is the first element of the current iteration.

If the result of the subtraction is a negative number, then the numbers are swapped and the array contains numbers in ascending order.

See this example live in JSBin.

Sort the array in descending order

To sort the numbers array in ascending order, you have to pass a function to the sort() method to customize its behavior, and the function will be passed 2 elements a and b while iterating.

You have to subtract b-a and return the result.

// array of numbers
const numArr = [34, 56, 78, 90, 4, 5, 6, 34];

// sort array
// in descending order
numArr.sort((a, b) => {
  return b - a;
});

console.log(numArr); // [90, 78, 56, 34, 34, 6, 5, 4]

Here a is the second element of the current iteration and b is the first element of the current iteration.

If the result of the subtraction is a negative number, then the numbers are swapped and the array contains numbers in descending order.

See this example live in JSBin.

Feel free to share if you found this useful 😃.


Share on: Facebook Twitter