localeCompare选项在nodejs的意外结果
localeCompare options in nodejs unexpected result
这是来自一个节点cli会话:
> var a = 'foo12';
undefined
> var b = 'foo3';
undefined
> var s = [a , b];
undefined
> s.sort(function(a, b) {
... return a.localeCompare(b, 'en', { numeric: true });
... });
[ 'foo12', 'foo3' ]
这是来自Chrome控制台:
var a = 'foo12';
undefined
var b = 'foo3';
undefined
var s = [a,b]
undefined
s.sort(function(a,b) {return a.localeCompare(b, 'en', {numeric:true});})
["foo3", "foo12"]
。在我的节点设置中,自然排序的numeric: true
选项似乎是无操作的。
是否有一种方法可以让节点在这种情况下表现得更好,或者解释为什么它没有?
这是目前为止我发现的最好的答案:https://github.com/joyent/node/issues/7676
TL;DR v8并不完全支持localeCompare,但是chrome使用v8-i18n来支持这一点。Node正在研究如何将完整的支持整合到Node中。
相关文章:
- Node.js使用Series函数(模式?)实现流控制时出现意外结果
- Javascript:函数返回意外结果
- 意外结果,在 ASP.Net 中解析 JSON 对象的数组
- 按位或意外结果
- 来自 JavaScript 循环的意外结果
- 从 JavaScript 中的图像中读取像素数据会返回半透明像素的意外结果
- 在 JS 中短路空数组会产生意外结果:“[] ||真 == []'
- NodeJS中的Parse Json文件在Node中显示意外结果
- 基于给出意外结果的提示输入的逻辑
- JavaScript Regexp.test返回意外结果
- 键控产生意外结果.HTML5游戏
- Javascript do/while循环显示意外结果
- 来自 CSS 和 jQuery 的意外结果
- MongoDB mapReduce方法意外结果
- 具有意外结果的 Javascript 函数参数
- 在 JavaScript 中解析日期字符串的意外结果
- 从内部HTML更改为表单时获得意外结果,输入类型文本字段
- 在计算链逻辑表达式 JavaScript 时出现意外结果
- 意外结果 - 谷歌自动完成针对约克郡
- JavaScript unshift 参数返回意外结果