Javascript 提供字母表的Lodash Sortbylder

Javascript 提供字母表的Lodash Sortbylder,javascript,arrays,string,sorting,lodash,Javascript,Arrays,String,Sorting,Lodash,我需要根据提供的键对对象数组进行排序。排序必须不区分大小写,并使用提供的字母表。例如,让我们以如下所示的初始数据为例: var notOrdered = [{ date: "11-12-2015", name: "Tomasz", age: 50, products: "FDGS", rate: 500 }, { date: "12-11-2015", name: "Łukasz", age: 54, products: "ŁBDGS", rate: 11

我需要根据提供的键对对象数组进行排序。排序必须不区分大小写,并使用提供的字母表。例如,让我们以如下所示的初始数据为例:

var notOrdered = [{
  date: "11-12-2015",
  name: "Tomasz",
  age: 50,
  products: "FDGS",
  rate: 500
}, {
  date: "12-11-2015",
  name: "Łukasz",
  age: 54,
  products: "ŁBDGS",
  rate: 110
}, {
  date: "11-12-2015",
  name: "Jan",
  age: 24,
  products: "ŻDGS",
  rate: 1000
}, {
  date: "11-12-2015",
  name: "Łucja",
  age: 18,
  products: "AEBDGS",
  rate: 50
}];

var keys = ["date", "rate", "name"];
var directions = [true, false, true];
var alphabet = '01234567989aąbcćdeęfghijklłmnńoóprsśtuvwxyzźż'
所以我想要的结果是:

var ordered = [{
  date: "11-12-2015",
  name: "Łucja",
  age: 18,
  products: "AEBDGS",
  rate: 50
}, {
  date: "11-12-2015",
  name: "Jan",
  age: 24,
  products: "ŻDGS",
  rate: 50
}, {
  date: "11-12-2015",
  name: "Tomasz",
  age: 50,
  products: "FDGS",
  rate: 500
}, {
  date: "12-11-2015",
  name: "Łukasz",
  age: 54,
  products: "ŁBDGS",
  rate: 110
}];
使用lodash的SortBylder函数
var ordered=.\ux.SortBylder(notOrdered,keys,directions)
使用提供的键和方向一个接一个地进行排序。而且效果很好。我现在需要的是使用提供的字母顺序,而不是默认的字母顺序,并使比较不区分大小写

提供的字母表中未列出的所有字符都应以默认方式进行比较。我不能使用localCompare,因为我需要支持旧的IE和移动浏览器


问题是:我能让lodash的SortBylder函数使用自定义字母表吗?如果可以,怎么做?

你知道微软已经不再支持旧版IE了,我知道这一点。不幸的是,我的客户不在乎。无论如何,我也不能让SortBylder使用localeCompare。好吧,祝你好运找到解决方案!也许你可以用这个。。如果这个模块是您正在使用的.sortedIndexBy(数组,值,[iteratee=.identity]),那么这里已经有了一个您可以使用的答案