The string.localeCompare() is an inbuilt method in JavaScript that is used to compare any two elements and returns a positive number if the reference string is lexicographically greater than the compare string and a negative number if the reference string is lexicographically smaller than the compare string and zero (0) if the compare and reference strings are equivalent.
Syntax:
referenceString.localeCompare(compareString)
Parameters: Here the parameter compareString is a string with which the reference string is compared.
Return Values: It returns a positive number if the reference string is lexicographically greater than the compare string and negative number if the reference string is lexicographically smaller than the compare string and zero (0) if the compare and reference strings are equivalent.
Below is an example of the string.localeCompare() Method.
Example 1: This example shows the basic use of the string.localeCompare() Method in Javascript, here we compare the strings based on the locale-specific sorting order and return -1 because “apple” comes before “banana” alphabetically.
javascript
let str1 = "apple" ; let str2 = "banana" ; let result = str1.localeCompare(str2); console.log(result); |
-1
Example 2: This example shows the basic use of the string.localeCompare() Method in Javascript.
javascript
// An alphabet "n" comes before "z" which // gives a negative value let a = 'n' .localeCompare( 'z' ); console.log(a) // Alphabetically the word "gfg" comes after // "neveropen" which gives a positive value let b = 'gfg' .localeCompare( 'neveropen' ); console.log(b) // "gfg" and "gfg" are equivalent which // gives a value of zero(0) c = 'a' .localeCompare( 'a' ); console.log(c) |
-1 1 0
Example 3: This method is also used to sort elements.
javascript
// Taking some elements to sort alphabetically let elements = [ 'gfg' , 'neveropen' , 'cse' , 'department' ]; let a = elements.sort((a, b) => a.localeCompare(b)); // Returning sorted elements console.log(a) |
[ 'cse', 'department', 'neveropen', 'gfg' ]
Example 4: In the example, we compare “neveropen” and “GEEKS” case-insensitively using localeCompare(). The result is 0, indicating they are considered equal.
Javascript
let str1 = "neveropen" ; let str2 = "GEEKS" ; let result = str1.localeCompare(str2, undefined, { sensitivity: "base" }); console.log(result); |
0
Note: the localeCompare() method performs a case-insensitive comparison using the { sensitivity: “base” } option. In this case, “neveropen” and “GEEKS” are considered equal because the comparison ignores the difference in letter case.
We have a complete list of Javascript string methods, to check those please go through this Javascript String Complete reference article.
Supported Browsers:
- Chrome 1 and above
- Edge 12 and above
- Firefox 1 and above
- Internet Explorer 5.5 and above
- Opera 7 and above
- Safari 3 and above