我使用了一个mixin,它将按属性数组
对对象进行分组_.groupByMulti = function(obj, values, context) {
if (!values.length) {
return obj;
}
var byFirst = _.chain(obj)
.groupBy(values[0], context)
.value();
var rest = values.slice(1);
for (var prop in byFirst) {
if (prop) {
byFirst[prop] = _.groupByMulti(byFirst[prop], rest, context);
}
}
return byFirst;
}
以下是一个例子的小提琴:http://jsfiddle.net/61u6jr2v
我尝试在过程中添加.sortBy("keys")
来对它们进行排序,但它会替换我不想要的索引,因为我使用了键作为标签。