对于IE和Chrome,LocaleCompare排序字符串的特殊字符有所不同

时间:2018-10-16 14:47:21

标签: javascript sorting

当比较包含特殊字符的字符串时,localeCompare出现问题。 我注意到IE浏览器使用与Firefox和Chrome不同的字符对字符串进行排序。

例如以下代码的输出:

Camera3D

将返回

var collator = new Intl.Collator('en-US', { 
     caseFirst: 'lower', 
     ignorePunctuation: false, 
     numeric: true});

var myArray = [' ','_','-',',','!','.','(',')','[',']','{','}','@','&','#','%','^','+','$'];
console.log(myArray.sort(collator.compare));

有没有办法解决这个问题,并使两个浏览器都一样工作?

或者是否可以将排序模式传递给localeCompare并定义特殊字符的自定义顺序?

0 个答案:

没有答案