Javascript字符串比较器功能

时间:2012-10-22 23:34:36

标签: javascript

我有一个简单的问题。 我想写一个字符串比较器函数,它会返回一个数字来指示第一个字符串是小于,等于还是大于第二个字符串。

显然最简单的解决方案是:

function compare (x, y){
  return x < y ? -1 : (x === y ? 0 : 1);
}

然而,这不是一个非常有效的,因为字符串可能会被比较两次。另一方面,实现典型的教科书解决方案(迭代两个字符串并比较各个位置的字符)可能效率更低,因为Javascript没有单个字符的概念 - 而是有1个字符串。

那么,是否有一个技巧使用一些内置的Javascript功能(ES5,可能?)来有效实现这样的功能,还是我们坚持上述代码?

1 个答案:

答案 0 :(得分:4)

也许您应该检查localeCompare功能?这正是它的目的:比较字符串。 )