javascript - 如何在javascript中对字母/数字数组进行排序
问题描述
这是我的数组
var a=[{name:'ABC125', sName: 'sadf'},{name:'ABC12', sName: 'sadf'},{name:'ABC15', sName: 'sadf'},{name:'Sbc125', sName: 'sadf'},{name:'pcb125', sName: 'sadf'}];
我的排序代码是
a.sort((x,y)=>(x.name.toLowerCase() > y.name.toLowerCase()) ? 1 : -1)
但这使我返回
解决方案
a.sort((x, y) => x.name.localeCompare(y.name, 'en', { numeric: true }))
推荐阅读
- java - 找不到符号 ds.setMaxActive(MAX_ACTIVE);
- javascript - Bootstrap 4 模态 PHP 动态变量访问
- algorithm - 给定 N 个具有电影偏好的用户,检索至少 K 个用户偏好的电影列表
- codenameone - 多按钮组件之间的填充
- flutter-animation - 如何通过 Flutter PageView 的页面捕捉滚动多个页面?
- python - 通过 Python 节点将字典从 LabVIEW 传递到 Python 脚本
- python-3.x - 在哪里可以找到 VideoClips 的 preview() 和 show() 函数的文档?
- c++ - FatFS - 我可以创建多个查找位置吗?
- python - 使用 pandas 数据框在 nltk freqdist 中输入错误
- python - 使用正则表达式构建的过滤器一次不能针对多个单词 (Django 2.1.5)