Optimum way to compare strings in JavaScript?
binary-search, comparison, javascript, optimization, string
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:
- Stack Overflow - Is there a JavaScript strcmp()?
- Tutorials Point: JavaScript String - localeCompare() Method
Problem
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?