如何对自定义类对象数组按name属性进行字母顺序排序
自定义类实例数组按name属性字母排序实现方案
核心实现逻辑
- 调用对应语言的数组/列表内置排序方法,传入自定义排序规则
- 规则内取出两个待比较实例的
name属性,按字母表顺序判断先后顺序 - 可根据需求选择是否区分大小写排序
JavaScript 实现代码
区分大小写排序
// it 为存储自定义类实例的目标数组 it.sort((a, b) => { if (a.name < b.name) return -1 if (a.name > b.name) return 1 return 0 })
忽略大小写排序
it.sort((a, b) => { const nameA = a.name.toLowerCase() const nameB = b.name.toLowerCase() if (nameA < nameB) return -1 if (nameA > nameB) return 1 return 0 })
Python 实现代码
区分大小写排序
# it 为存储自定义类实例的目标列表 it.sort(key=lambda item: item.name)
忽略大小写排序
it.sort(key=lambda item: item.name.lower())
注意事项
- 若部分实例的
name属性可能为空值,建议在比较逻辑中增加判空处理,避免运行报错 - 若需要按字母倒序排序,交换比较逻辑的返回值,或对排序后的数组执行反转操作即可
内容的提问来源于stack exchange,提问作者zain mahmood
相关产品推荐
相关产品推荐

