Optimum way to compare strings in JavaScript?
Posted By: Anonymous
I am trying to optimize a function which does binary search of strings in JavaScript.
Binary search requires you to know whether the key is ==
the pivot or <
the pivot.
But this requires two string comparisons in JavaScript, unlike in C
like languages which have the strcmp()
function that returns three values (-1, 0, +1)
for (less than, equal, greater than).
Is there such a native function in JavaScript, that can return a ternary value so that just one comparison is required in each iteration of the binary search?
Solution
You can use the localeCompare()
method.
string_a.localeCompare(string_b);
/* Expected Returns:
0: exact match
-1: string_a < string_b
1: string_a > string_b
*/
Further Reading:
- MDN: String.prototype.localeCompare
- Stack Overflow – Is there a JavaScript strcmp()?
- Tutorials Point: JavaScript String – localeCompare() Method
Answered By: Anonymous
Disclaimer: This content is shared under creative common license cc-by-sa 3.0. It is generated from StackExchange Website Network.