# zhioua mohamed's Blog # How to Use the Sort Method in JavaScript Correctly

• Introduction

• How to Use the Sort Method Correctly

• Tips for Using the Sort Method

• Summary

## Introduction:

In this article I will explain how to use how the `sort()` method works in order to use it correctly.

## How to Use the Sort Method Correctly:

The `sort()` method in JavaScript is a powerful tool for sorting arrays in ascending or descending order. However, it is important to understand how the `sort()` method works in order to use it correctly.

By default, the `sort()` method compares the elements of an array by converting them to strings and then comparing their Unicode code points. This means that the `sort()` method may not always sort arrays in the way that you expect, especially if the array contains numbers or other non-string values.

For example, the following code will sort the array in ascending order, but the result is not what you might expect:

``````const array = [4, 9, 80];

array.sort();

console.log(array); // [4, 80, 9]
``````

This is because the `sort()` method has converted the numbers in the array to strings before sorting them. In Unicode, the code unit value for the digit 8 is smaller than the code unit value for the digit 9. Therefore, the string "80" is sorted before the string "9". To fix this, you can provide a comparison function to the `sort()` method. The comparison function is a function that takes two elements of the array as input and returns a negative number if the first element is less than the second element, a positive number if the first element is greater than the second element, and 0 if the two elements are equal.

The following code shows how to use a comparison function to sort the array in ascending order by its numerical values:

``````const array = [4, 9, 80];

array.sort((a, b) => a - b);

console.log(array); // [4, 9, 80]
``````

The comparison function in this example simply subtracts the second element from the first element. This will result in a negative number if the first element is smaller than the second element, a positive number if the first element is larger than the second element, and 0 if the two elements are equal.

The `sort()` method will then use the comparison function to sort the array in ascending order.

### Tips for Using the Sort Method:

Here are some additional tips for using the `sort()` method correctly:

• If you are sorting an array of objects, you can provide a property name to the `sort()` method to sort the array by that property. For example, the following code will sort the array of objects by the `name` property:
``````const array = [{ name: "Alice", age: 25 }, { name: "Bob", age: 30 }, { name: "Carol", age: 28 }];

array.sort((a, b) => a.name.localeCompare(b.name));

console.log(array); // [{ name: "Alice", age: 25 }, { name: "Bob", age: 30 }, { name: "Carol", age: 28 }]
``````
• If you are sorting an array of strings, you can specify a locale to the `sort()` method to use a specific language and culture for sorting. For example, the following code will sort the array of strings using the French locale:
``````const array = ["Alice", "Bob", "Carol"];

array.sort((a, b) => a.localeCompare(b, "fr"));

console.log(array); // ["Alice", "Bob", "Carol"]
``````
• You can also use the `sort()` method to sort arrays in descending order by passing the `reverse` option to the `sort()` method. For example, the following code will sort the array in descending order:
``````const array = [4, 9, 80];

array.sort((a, b) => b - a);

console.log(array); // [80, 9, 4]
``````

## Summary:

The `sort()` method is a powerful tool for sorting arrays in JavaScript. However, it is important to understand how the `sort()` method works in order to use it correctly. By following the tips above, you can use the `sort()` method to sort arrays accurately and efficiently.

Let's connect: