2

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

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

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

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

那么,是否有使用一些内置 Javascript 功能(也许是 ES5?)来有效实现此类功能的技巧,或者我们是否坚持上述代码?

4

1 回答 1

4

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

于 2012-10-22T23:35:56.947 回答