带汉字数组字符串大小过滤排序

带汉字的字符串比较排序

const data1 = [
	{age: 12, name: '张三'},
	{age: 18, name: '李四'},
	{age: 16, name: '王麻子'},
	{age: 21, name: '花花'},
	{age: 5, name: '华华'},
	{age: 20, name: '华华'},
	{age: 20, name: 'zhangsan'},
	{age: 20, name: 'lisi'}
]
// 中英文可用。
data1.sort((a, b) => a.name.localeCompare(b.name))

//注意,filter不会改变原数组,sort改变原数组
//以下做过滤排序,不改变原数组,需要接收
//升序
const resetData = data1.filter(item => item.age >= 18).sort((a, b) => a.name.localeCompare(b.name))

//降序
const resetData = data1.filter(item => item.age >= 18).sort((a, b) => b.name.localeCompare(a.name))

localeCompare方法介绍

// 前提:使用Unicode 编码。
// 支持汉字,中英文可用
'a'.localeCompare('a')// 相等:0
'a'.localeCompare('b')// a不大于b:-1
'b'.localeCompare('a')// b大于a:1
'周'.localeCompare('周')// 相等:0
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值