我正在try 优化一个函数,该函数在JavaScript中对字符串进行二进制搜索.
二进制搜索需要知道键是==
还是<
.
但这需要在JavaScript中进行两个字符串比较,而在类似C
的语言中,strcmp()
函数返回三个(-1, 0, +1)
值(小于、等于、大于).
JavaScript中是否有这样一个本机函数,可以返回一个三元值,以便在二进制搜索的每次迭代中只需要一个比较?
我正在try 优化一个函数,该函数在JavaScript中对字符串进行二进制搜索.
二进制搜索需要知道键是==
还是<
.
但这需要在JavaScript中进行两个字符串比较,而在类似C
的语言中,strcmp()
函数返回三个(-1, 0, +1)
值(小于、等于、大于).
JavaScript中是否有这样一个本机函数,可以返回一个三元值,以便在二进制搜索的每次迭代中只需要一个比较?
你可以使用localeCompare()
法.
string_a.localeCompare(string_b);
/* Expected Returns:
0: exact match
-1: string_a < string_b
1: string_a > string_b
*/
进一步阅读: