Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 下划线js中的排序_Javascript_Sorting_Underscore.js - Fatal编程技术网

Javascript 下划线js中的排序

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); }); });

我正在开发一个函数,它可以将我的列表按期中成绩升序排序。所以我尝试了ff代码:

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);
});