Javascript 下划线js中的排序
我正在开发一个函数,它可以将我的列表按期中成绩升序排序。所以我尝试了ff代码:Javascript 下划线js中的排序,javascript,sorting,underscore.js,Javascript,Sorting,Underscore.js,我正在开发一个函数,它可以将我的列表按期中成绩升序排序。所以我尝试了ff代码: if(score === 'Midterm Score'){ _.each(students, function(elem, index, list){ _.sortBy(students, function(elem){ console.log(elem.midterm_score); }); });
if(score === 'Midterm Score'){
_.each(students, function(elem, index, list){
_.sortBy(students, function(elem){
console.log(elem.midterm_score);
});
});
}
因此,使用elem.middterm_分数,它并没有按照中期分数对我的列表进行排序,如图所示
我预计会是90、80、70等等。你知道我错过了什么吗?请帮忙 根据:
返回列表的稳定排序副本,按升序排列
通过iteratee运行每个值的结果。迭代者也可以
是要按长度排序的属性的字符串名称
可能是你把事情搞得太复杂了。要根据属性值(如期中考试分数)对列表进行排序,只需将其作为第二个参数传递,如下所示:
学生分类,“期中考试分数”
将函数用作iTree是为了对数据进行转换,这里似乎没有必要这样做。在这样的函数中,您需要根据文档显式地使用return命令返回转换后的结果。您以错误的方式使用了sortBy方法。查一下电话号码
是的,我觉得这个很管用。我应该切换每个项目的位置,然后将已排序的项目放入一个变量中。
// First of all we need students
var students = [
{name: 'a', midterm_score: 60},
{name: 'b', midterm_score: 70},
{name: 'c', midterm_score: 40}
];
// Sort by midterm score and assign to students variable
students = _.sortBy(students, 'midterm_score');
// print array in each loop
_.each(students, function(el) {
console.log(el);
});