我有一个简单的问题。 我想写一个字符串比较器函数,它会返回一个数字来指示第一个字符串是小于,等于还是大于第二个字符串。
显然最简单的解决方案是:
function compare (x, y){
return x < y ? -1 : (x === y ? 0 : 1);
}
然而,这不是一个非常有效的,因为字符串可能会被比较两次。另一方面,实现典型的教科书解决方案(迭代两个字符串并比较各个位置的字符)可能效率更低,因为Javascript没有单个字符的概念 - 而是有1个字符串。
那么,是否有一个技巧使用一些内置的Javascript功能(ES5,可能?)来有效实现这样的功能,还是我们坚持上述代码?