需求

  • 针对list中某个字段,实现list的升序和降序

效果图

代码

我是用在angular1.X中项目的,根据list中的sort字段进行排序。

# sort.html
<style>
.list-sort .upper-sort {
width: 0;
height: 0;
margin-bottom: 10px;
border-top: 15px solid transparent;
border-right: 15px solid transparent;
border-bottom: 15px solid #ccc;
border-left: 15px solid transparent;
} .list-sort .down-sort {
width: 0;
height: 0;
border-top: 15px solid #ccc;
border-right: 15px solid transparent;
border-bottom: 15px solid transparent;
border-left: 15px solid transparent;
}
</style> ... <div class="list-sort">
<div class="upper-sort" data-action="upper" ng-click="upSort()"></div>
<div class="down-sort" data-action="down" ng-click="downSort()"></div>
</div> #sortCtrl.js
function bubble_sort(list) {
count = list.length;
for (let i = 0;i < count - 1;i++) {
let swapped = false;
for (let j = 0;j < count - 1;j++) {
if (list[j].score > list[j + 1].score) {
let temp = list[j];
list[j] = list[j + 1];
list[j + 1] = temp;
swapped = true;
}
}
if (!swapped) {
break;
}
}
return list;
} function bubble_sort_revert(list) {
count = list.length;
for (let i = 0;i < count - 1;i++) {
let swapped = false;
for (let j = 0;j < count - 1;j++) {
if (list[j].score < list[j + 1].score) {
let temp = list[j];
list[j] = list[j + 1];
list[j + 1] = temp;
swapped = true;
}
}
if (!swapped) {
break;
}
}
return list;
} $scope.upSort = function () {
bubble_sort($scope.candidateList)
let upper = document.querySelector("[data-action=upper]");
let down = document.querySelector("[data-action=down]");
upper.style.borderBottomColor = "#2196f3";
down.style.borderTopColor = "#ccc";
}; $scope.downSort = function () {
bubble_sort_revert($scope.candidateList)
let upper = document.querySelector("[data-action=upper]");
let down = document.querySelector("[data-action=down]");
upper.style.borderBottomColor = "#ccc";
down.style.borderTopColor = "#2196f3";
};

前端实现list排序的更多相关文章

  1. 前端js数据排序

    销量统计系统中国地图热力分布图需要显示一个各省区销量列表,并按从多到少排序.本着轻易不修改后台数据源的原则,决定在前端进行修改实现.其实也容易实现,将数据存放一个数据<省区名称,销量>,然 ...

  2. JSP前端数据本地排序

    在前端中我们经常需要数据的排序,首先写引入我写好的js $(function($) { $('#sclazzId').val($('#voId').val()); document.getElemen ...

  3. 前端页面表格排序 jQuery Table 基础

    通常来说, 排序的方式有两种, 一种是我们在查询的时候就排好序,然后将数据渲染到前台页面上, 但是这样做有个弊端,就是在争对做好了缓存处理的系统, 在查询相同数据的时候进行排序,可能不能成功, 因为进 ...

  4. web前端学习历程--排序

    一.js排序方法 1.按字母顺序排列: arr.sort() 2.按数值从小到大: function sortNumber(a,b)//排序函数 { return a - b } var arr = ...

  5. easyUI 之datagrid 在前端自定义排序

    首先先来看一下,直接从后台读取数据并展示到前端的列表,后端传回的数据是“按商品ID倒序排列” 前端源代码 $('#good_tables').datagrid({ nowrap: true, auto ...

  6. 前端周报:前端面试题及答案总结;JavaScript参数传递的深入理解

    1.2017前端面试题及答案总结 |掘金技术征文 "金三银四,金九银十",用来形容求职最好的几个月.但是随着行业的饱和,初中级前端er就业形势不容乐观. 行业状态不可控,我们能做的 ...

  7. easyui页面上字段排序并与后台交互

    在开始对easyui里面页面上进行排序,感觉应该不怎么难,但是在操作的时候并没有那么简单,上网也查了很多进行排序的方法,最终总结出这个方法,供大家参考使用: 一.在easyui里面上只需 1.将要进行 ...

  8. 使用.NET 6开发TodoList应用(16)——实现查询排序

    系列导航及源代码 使用.NET 6开发TodoList应用文章索引 需求 关于查询的另一个需求是要根据前端请求的排序字段进行对结果相应的排序. 目标 实现根据排序要求返回排序后的结果 原理与思路 要实 ...

  9. Python CRM项目三

    1.分页: 分页使用Django内置的分页模块来实现 官方的分页案例 from django.core.paginator import Paginator, EmptyPage, PageNotAn ...

随机推荐

  1. 洛谷 P4516 [JSOI2018]潜入行动

    题面传送门 一眼树形 \(dp\) 本题有 \(2\) 大难点. 难点之一是状态的设计,这里需要四维状态,\(dp[i][j][0/1][0/1]\) 表示在以 \(i\) 为根的子树内放了 \(j\ ...

  2. Atcoder Regular Contest 058 D - 文字列大好きいろはちゃん / Iroha Loves Strings(单调栈+Z 函数)

    洛谷题面传送门 & Atcoder 题面传送门 神仙题. mol 一发现场(bushi)独立切掉此题的 ycx %%%%%%% 首先咱们可以想到一个非常 naive 的 DP,\(dp_{i, ...

  3. 如何构建自己的KEGG数据库

    本文转自Y叔公众号 自己KEGG数据库好处: 可重复性好 没网也可以进行分析 步骤 1 在KEGG官网找到自己物种的3字符缩写 2 加载Y叔获取kegg.db 的R包 1 ##安装Y叔的包 2 lib ...

  4. Augustus指南(Trainning部分)

    Augustus指南 官方 Tutorial Index Augustus是一个真核生物基因预测软件,目前有网页服务端和本地版,它基于Hidden-Markov Model(隐马尔科夫链模型HMM)( ...

  5. 52-Linked List Cycle

    Linked List Cycle My Submissions QuestionEditorial Solution Total Accepted: 102785 Total Submissions ...

  6. ubuntu安装配置ssh-connect to host localhost port 22: Connection refused

    在安装ssh,经常出现 ssh: connect to host localhost port 22: Connection refused 从以下几点去检查: 1.是否安装ssh-server: 打 ...

  7. mysql 除法运算保留小数的用法

    说明:刚开始用的round(值1/值2*100,1) 结果没出效果,才搜到decimal函数 在工作中会遇到计算小数而且需要显现出小数末尾的0,我们会用到DECIMAL这个函数,这是一个函数非常强悍: ...

  8. 修复UE4编辑器,ClearLog操作导致的崩溃

    UE4 4.24.3版本,编辑器Output Log窗口中,右键--Clear Log操作很大概率会导致编辑器奔溃:解决办法: 相关文件: Engine\Source\Developer\Output ...

  9. Spring 注解开发

    目录 注解开发简介 常用注解 启用注解功能 bean 定义:@Component.@Controller.@Service.@Repository bean 的引用类型属性注入:@Autowired. ...

  10. 利用charles映射解决夜神模拟器安装xposed-v89-sdk25-x86.zip

    最近在玩xposed框架,前前后后搞了两天,浪费一个周末,总算把踩过的坑都踩了一遍.. 比如大家肯定遇到的的一个问题:夜神模拟器打开xposed安装器之后,为什么下载不了xposed-v89-sdk2 ...