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