Angular将“奥兰群岛”排在“津巴布韦”之后。我想以全球的方式解决这个问题。我不想创建自定义排序函数并在每个orderBy过滤器中指定它,而是想以某种方式全局修补默认排序函数。这可能吗?
通过首先使用以下函数对两个字符串进行归一化,问题得到解决:
function norm(str) {
  str = str.toLowerCase();
  str = str.replace(/\\s/g, "");
  str = str.replace(/[àáâãäå]/g, "a");
  str = str.replace(/æ/g, "ae");
  str = str.replace(/ç/g, "c");
  str = str.replace(/[èéêë]/g, "e");
  str = str.replace(/[ìíîï]/g, "i");
  str = str.replace(/ñ/g, "n");
  str = str.replace(/[òóôõö]/g, "o");
  str = str.replace(/œ/g, "oe");
  str = str.replace(/[ùúûü]/g, "u");
  str = str.replace(/[ýÿ]/g, "y");
  str = str.replace(/\\W/g, "");
  return str;
}
我希望有一种方法可以在 Angular 中做到这一点,并且再也不用担心它了。