前端实现list排序
需求
- 针对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排序的更多相关文章
- 前端js数据排序
销量统计系统中国地图热力分布图需要显示一个各省区销量列表,并按从多到少排序.本着轻易不修改后台数据源的原则,决定在前端进行修改实现.其实也容易实现,将数据存放一个数据<省区名称,销量>,然 ...
- JSP前端数据本地排序
在前端中我们经常需要数据的排序,首先写引入我写好的js $(function($) { $('#sclazzId').val($('#voId').val()); document.getElemen ...
- 前端页面表格排序 jQuery Table 基础
通常来说, 排序的方式有两种, 一种是我们在查询的时候就排好序,然后将数据渲染到前台页面上, 但是这样做有个弊端,就是在争对做好了缓存处理的系统, 在查询相同数据的时候进行排序,可能不能成功, 因为进 ...
- web前端学习历程--排序
一.js排序方法 1.按字母顺序排列: arr.sort() 2.按数值从小到大: function sortNumber(a,b)//排序函数 { return a - b } var arr = ...
- easyUI 之datagrid 在前端自定义排序
首先先来看一下,直接从后台读取数据并展示到前端的列表,后端传回的数据是“按商品ID倒序排列” 前端源代码 $('#good_tables').datagrid({ nowrap: true, auto ...
- 前端周报:前端面试题及答案总结;JavaScript参数传递的深入理解
1.2017前端面试题及答案总结 |掘金技术征文 "金三银四,金九银十",用来形容求职最好的几个月.但是随着行业的饱和,初中级前端er就业形势不容乐观. 行业状态不可控,我们能做的 ...
- easyui页面上字段排序并与后台交互
在开始对easyui里面页面上进行排序,感觉应该不怎么难,但是在操作的时候并没有那么简单,上网也查了很多进行排序的方法,最终总结出这个方法,供大家参考使用: 一.在easyui里面上只需 1.将要进行 ...
- 使用.NET 6开发TodoList应用(16)——实现查询排序
系列导航及源代码 使用.NET 6开发TodoList应用文章索引 需求 关于查询的另一个需求是要根据前端请求的排序字段进行对结果相应的排序. 目标 实现根据排序要求返回排序后的结果 原理与思路 要实 ...
- Python CRM项目三
1.分页: 分页使用Django内置的分页模块来实现 官方的分页案例 from django.core.paginator import Paginator, EmptyPage, PageNotAn ...
随机推荐
- C#使用Thrift作为RPC框架实战(四)之TSocket
前言 在前几个小节中我们讲了Thrift框架的基本概念以及重要的名称空间,接下来的几个小节,我们将站在实战的角度来深入讲解一些Thrift的重要类型.本小节我先要讲一下Thrift框架支持TCP通信的 ...
- Codeforces 1010F - Tree(分治 NTT+树剖)
Codeforces 题面传送门 & 洛谷题面传送门 神仙题. 首先我们考虑按照这题的套路,记 \(t_i\) 表示 \(i\) 上的果子数量减去其儿子果子数量之和,那么对于一个合法的放置果子 ...
- Codeforces 840C - On the Bench(dp/容斥原理)
Codeforces 题目传送门 & 洛谷题目传送门 这是一道 *2500 的 D1C,可个人认为难度堪比某些 *2700 *2800. 不过嘛,*2500 终究还是 *2500,还是被我自己 ...
- perl 获取目录信息
1 #!/usr/bin/perl -w 2 use strict; 3 use FindBin qw($Bin $Script); 4 5 my $rp=$Bin; 6 print "th ...
- git 新建分支并切换到该分支_Git 从master拉取代码创建新分支 并且再将修改合并到master...
开发过程中会从master主分支copy到另一个开发分支: 1.切换到master分支 git checkout master 2.获取最新的代码 git pull origin master 3 ...
- 详解 Rainbond Ingress 泛解析域名机制
Rainbond 作为一款云原生应用管理平台,天生带有引导南北向网络流量的分布式网关 rbd-gateway.区别于一般的 Ingress 配置中,用户需要自行定义域名的使用体验,Rainbond 的 ...
- Java8 Lambda表达式、函数式接口和方法引用
目录 Java8 Lambda表达式和函数式接口 Lambda表达式 Lambda的使用 函数式接口FunctionalInterface Java内置四大核心函数式接口 方法引用 构造器引用 Jav ...
- accelerate
accelerate accelerare, accumulare和accurate共享一个含义为to的词根,后半截分别是:fast, pile up, care (关心则精确). 近/反义词: ex ...
- @RequestBody配合@Valid 校验入参参数
自定义一个Controller import com.example.demo.pojo.User; import org.springframework.web.bind.annotation.Po ...
- 通信协议 HTTP TCP UDP
TCP HTTP UDP: 都是通信协议,也就是通信时所遵守的规则,只有双方按照这个规则"说话",对方才能理解或为之服务. TCP HTTP UDP三者的关系: T ...