我想以自定义的方式对数组进行排序。
示例是学生的班级水平:
_.sortBy(["Junior","Senior","Freshman","Sophomore"], function(classlevel){
// ??
})
理想情况下,排序应返回:
["Freshman","Sophomore","Junior","Senior"]
我在想是否可以提前对班级进行预先排名,如下所示:
var classlevelRanked = [{ class: "Junior",
rank: 3
},{ class: "Senior",
rank: 4
},{ class: "Freshman",
rank: 1
},{ class: "Sophomore",
rank: 2
}]
然后通过以下方式应用排序:
_.sortBy(classlevelRanked, function(classlevel){
return classlevel.rank;
})
但随后我必须通过以下操作来消除排名:
.map(function(classlevel){
return classlevel["class"];
})
有没有更直接的方法来做到这一点,而无需预先对班级级别进行排名,然后再将其删除?
谢谢。