怎么使用lodash实现倒序排列字符串

本文介绍如何使用lodash库中的sortBy方法对数组进行正序和倒序排序,并通过实例演示了数字及字符串数组的排序方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天遇到一个需要对数组进行排序的需求,不但要支持正序ASC(从小到大)还需要支持倒序DESC(从大到小).当然可以调用数组的sort方法实现,看页面中已经加装了lodash想着应该有更简单的方法:

就试图使用lodash实现数组排序,实现排序的方法也很简单:

_.sortBy

比如有数组:[1,2,3,9,0] 

正序排列可以: 

>var nums = [1,2,3,9,0];
>_.sortBy(nums);
(5) [0, 1, 2, 3, 9]

那要倒序排列呢? 看了下sortBy的函数定义,也没发现有指定倒序还是正序的参数,咋办?可以用个小技巧:

>_.sortBy(nums,function(n) {return -n});
(5) [9, 3, 2, 1, 0]

也就是使用每个元素的负数做正序排列也就得到了元素的倒序排列结果.

貌似解决了,用字符串数组试下:

>var num = ['a','b','e','c','d'];
>_.sortBy(num, function(o) {return -o;})
(5) ["a", "b", "e", "c", "d"] 

可以看出这种小伎俩遇到字符串就不灵了,那咋办? 可以再使用个_.reverse:

>num
(5) ["a", "b", "e", "c", "d"]
>_.reverse(_.sortBy(num))
(5) ["e", "d", "c", "b", "a"]  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CoderFusionZhu

不要打赏太多哦!我喝速溶就行

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值