当前位置:   article > 正文

web蓝桥杯真题:分阵营,比高低

web蓝桥杯真题:分阵营,比高低

代码:

  1. function orderStudentGrade(students) {
  2. // TODO: 在这里写入具体的实现逻辑
  3. // 将学生的成绩按班级分组,同一班级中按照总分从高到底排序
  4. if(students.length == 0) {
  5. return {}
  6. }
  7. // 排序函数,按照总分降序
  8. const compare = (a, b) => {
  9. const scoreA = a.math + a.language + a.english + a.physics + a.chemistry
  10. const scoreB = b.math + b.language + b.english + b.physics + b.chemistry
  11. return scoreB - scoreA
  12. }
  13. let result = {}
  14. let arr1 = students.filter(item => item.class == 1).sort(compare) //留下班级为1的数组
  15. let arr2 = students.filter(item => item.class == 2).sort(compare)
  16. let arr3 = students.filter(item => item.class == 3).sort(compare)
  17. result = { 1:arr1, 2:arr2, 3:arr3}
  18. return result
  19. }
  20. module.exports = orderStudentGrade; // 检测需要,请勿删除

考点:

1.数组排序:

arr.sort(compareFn)

基础升序函数

(a,b) => return a-b

按数组内对象内某个属性排序

  1. function compare(a, b) {
  2. return (a.math + a.english) - (b.math + b.english)
  3. }

 2.过滤器

常用于筛选数组

  1. let arr = arr.filter(function(currentValue, index, arr) {
  2. return //满足条件直接return,用新数组接收
  3. })
声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号