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

带汉字的字符串比较排序

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

你可能感兴趣的:(JS实用方法)