JavaScript sort() 方法比较数据并排序

参考文档
![遵循规则](https://img-blog.csdnimg.cn/2021022010134015.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0RheTcx,size_16,color_FFFFFF,t_70

注意:如果按照默认的排序方式,是按照字符串首字母大小进行排序的,"40"将排在"5"前面。
使用数字排序,必须通过一个函数作为参数来调用。

  1. 对字符串进行排序
const months = ['March', 'Jan', 'Feb', 'Dec'];
months.sort();
console.log(months); //> Array ["Dec", "Feb", "Jan", "March"]
  1. 对数字进行排序
var numbers = [4, 2, 5, 1, 3];
numbers.sort(function(a, b) {
  return a - b;
});
console.log(numbers);

// [1, 2, 3, 4, 5]

es2015

let numbers = [4, 2, 5, 1, 3];
numbers.sort((a, b) => a - b);
console.log(numbers);

// [1, 2, 3, 4, 5]
  1. 对拼接字符串进行排序

如下表所示,data和date是两列数据,数据类型为拼接字符串,需要将data和date进行排序操作。
逻辑为先分割每行的数据,按("/")左边的数字比较大小,进行升降序排列。

datadate
206/200160/156
689/692355/362
126/108112/98
{prop: 'data', label: 'data', sortable:true,
	sortMethod:function(a,b) {
		 let arr_a = a.data.split("/")
		 let arr_b = b.data.split("/")
		 return arr_a[0] - arr_b[0]; 
		 // return arr_a.length>0 && arr_b.length>0 && arr_a[0] - arr_b[0] > 0 ? 1 : -1; //判空
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值