angular - 如何对数组元素进行排序?
问题描述
我试图在一个角度应用程序中对一个字符串数组进行排序,例如包含:
names = ["Eve","Jhon","Maria","Jadon"]
我想对它们进行排序order : ["Maria", "Eve", "Jadon", "Jhon"]
我试过了
names.sort();
但这会将它按升序排列,但对我来说,我想选择我想要的顺序!好像我有一张桌子,我想将它的标题排序items=["id","name","email","fullname","tel"]
到["name","id","email","tel","fullname"]
.
你有什么主意吗?
解决方案
这是一个示例,您如何创建自定义排序函数以按预定义的有序数组进行排序
const THIS_ORDER = ["Maria", "Eve", "Jadon", "Jhon"]
const data = ["Eve","Jhon","Maria","Jadon"];
const sorter = (a, b) => THIS_ORDER.indexOf(a) - THIS_ORDER.indexOf(b)
const result = data.sort(sorter)
console.log(result)
推荐阅读
- sql - 子查询访问中无法识别表别名
- android - 此 SIGSEGV 错误消息是否意味着问题发生在异步任务中
- ios - 在 IOS 13 Safari 上禁用捏缩放
- apache-spark - 如何计算不同数据框的列之间的数值差异?
- c++ - 编译器说没有声明“头”:LinkedList
- c# - 在 Microsoft Teams 中提及用户出现“BadRequest”异常,Bot 服务的 Ms 团队频道显示错误“提及实体与文本不匹配”
- javascript - 即使在设置 SameSite=None 之后,Safari 也不发送 cookie;安全的
- android - EISDIR:对目录的非法操作,在 React Native 文件系统中读取
- c# - 使用实体框架检查连接
- reactjs - 在 React 中删除/移动数组上的特定项目