javascript - 按特定顺序对数组进行排序
问题描述
我有一个数组
peeps = [{name: "Mike", age: 31},{name: "Dave", age: 31},{name: "Delta", age: 31},{name: "Clint", age: 31}]
我需要按任意顺序对它们进行排序
newOrder = ['Delta', 'Dave', 'Mike', 'Clint']
我将如何引用newOrder
sort peeps
,还请记住,peeps
不能保证其中的数据包含所有名称newOrder
解决方案
const peeps = [
{ name: 'Mike', age: 31 },
{ name: 'Dave', age: 31 },
{ name: 'Delta', age: 31 },
{ name: 'Clint', age: 31 }
];
const newOrder = ['Delta', 'Dave', 'Mike', 'Clint'];
peeps.sort((a, b) => newOrder.indexOf(a.name) - newOrder.indexOf(b.name));
console.log(peeps);
推荐阅读
- python - 基于 Selenium 的代码在 Chrome 更新后没有表现
- arrays - 一项任务中的 Ansible 数组
- jupyter-notebook - 我在 Anaconda3 上打开 jupyter 并出现内核错误,我该怎么办?
- json - 如何使用 Jira REST API 创建子组件
- oracle - Oracle Unusable Index 会减慢性能吗?
- docker - 在容器内写入文件时 Docker 权限被拒绝
- android - 从 URL 播放音频文件时出错
- javascript - Websocket 和自签名 SSL 证书有什么问题
- python - 如何将由时间、周和闰秒组成的 GPS 时间转换为 UTC 时间戳
- javascript - 如何编写更好的 JS 函数 - 带标签框的输入单选