localeCompare在比较两个字符串时表现得很奇怪

时间:2015-08-12 21:23:46

标签: javascript

我一直在尝试在控制台上编写此代码:

'B'.localeCompare('a')

我从那里得到“1”,即使ascii“a”更大,所以我应该得到-1。

我试图寻找任何一致性,但没有成功。

我很乐意清楚地解释这种方法是如何运作的。

1 个答案:

答案 0 :(得分:4)

按字母顺序排列,Bb都来自 a之后的,因此以下内容将产生正面效果:

'B'.localeCompare('a');
'b'.localeCompare('a');

正值表示调用对象(字符串B / b)以排序顺序出现在参数(字符串a)之后。