有一个漂亮的方法可以根据几个属性对对象数组进行排序:
var data = _.sortBy(array_of_objects, ['type', 'name']);
但是,这仅适用于升序排序。是否有一些方便的方法来定义每列的方向?例如
var data = _.sortBy(array_of_objects, [{'type': 'asc'}, {'name': 'desc'}]);
从 lodash 3.5.0 开始 ,您可以使用sortByOrder(在 v4.3.0 中更名为orderBy):
var data = _.sortByOrder(array_of_objects, ['type','name'], [true, false]);
从 3.10.0 版本开始 ,您甚至可以使用标准语义进行排序(asc、desc):
var data = _.sortByOrder(array_of_objects, ['type','name'], ['asc', 'desc']);
在lodash 的 第 4 版 中,此方法已重命名为orderBy:
var data = _.orderBy(array_of_objects, ['type','name'], ['asc', 'desc']);