JavaScript双重排序
2024-10-07 06:05:55
前言:正好这两天正在做一个功能,需要在前台进行排序展示,因为是动态的,后台排序不能搞定,只能咋前台通过JS来进行排序展示,所以我们用sort()来解决这个问题,sort不仅能给数组,对象,集合进行简单的排序,还能进行双重,多重排序。哈哈.... 不讲废话了
JavaScript双重排序
1. 语法详解
Array.sort((a, b) =>{})
JS中sort 函数需要传入一个函数,例如 sort((a,b)=>{ }). a, b 为需要排序的数组的两个值,可以根据x, y的大小进行返回:
负值,如果所传递的第一个参数比第二个参数小。
零,如果两个参数相等。
正值,如果第一个参数比第二个参数大。
2. 示例
sortName(sortObj){
// this.addOrderData.product_list.sort(this.compare(sortObj.prop, sortObj.order))
this.addOrderData.product_list.sort((a, b)=>{ if (sortObj.order == 'ascending') {
if (a["product_name"] === b["product_name"]) {
return a["lot"] > b["lot"] ? 1 : a["lot"] < b["lot"] ? -1 : 0;
} else {
return a["product_name"] > b["product_name"] ? 1 : -1;
}
}else {
if (a["product_name"] === b["product_name"]) {
return a["lot"] > b["lot"] ? 1 : a["lot"] < b["lot"] ? -1 : 0;
} else {
return a["product_name"] < b["product_name"] ? 1 : -1;
}
} }) }
Js中sort 函数需要传入一个函数,例如 sort(function(x,y){ }). x, y 为需要排序的数组的两个值,可以根据x, y的大小进行返回:
负值,如果所传递的第一个参数比第二个参数小。
零,如果两个参数相等。
正值,如果第一个参数比第二个参数大。
3.注意事项
在IE中JS不支持Array.sort((a, b) =>{})可换成Array.sort(function(a, b) {})
最新文章
- 用扩展开发一个PHP类
- WordPress页面Page和文章Post的相互转换
- oracle 前滚和回滚
- 初识ASP.NET CORE:三、Middleware
- struts2异常记录--java.lang.IllegalStateException
- Spark on Yarn遇到的问题及解决思路
- Android studio教程:[4]真机测试
- android 简单粗暴的注解初始化View学习
- 解决前端开发sublime text 3编辑器无法安装插件的问题
- 从Openvswitch代码看网络包的旅程
- 2019年 Gratner数据分析平台对比 - PowerBI大幅领先
- kaptcha生成java验证码
- hadoop基础与实践--流程解惑
- oracle sqlplus命令详解
- Connection reset by peer原理解析
- 【BZOJ3202】项链(莫比乌斯反演,Burnside引理)
- ansible源码安装
- linux命令学习之:vim
- log4j(四)——如何控制不同风格的日志信息的输出?
- centos 7 yum configuration; yum localinstall