javascript - 如何使用特定字母对字符串数组进行排序?
问题描述
我有一个字符串数组。
例如:
StrArray = ["hook", "hour", "javascript", "nemo", "case"];
我知道如果我使用 StrArray.Sort() 它将按字母顺序排序。但我想用这个字母排序=“jngmclqskrzfvbwpxdht”
我已经搜索过,但我只发现有人使用 HashTable 来解决它。
可以在JS中做吗?
解决方案
let order = 'jngmclqskrzfvbwpxdht'
let StrArray = ["hook", "javascript", "hour", "nemo", "case"];
StrArray.sort(function(a,b) {
let firstAlphaOfParam1 = a.charAt(0);
let firstAlphaOfParam2 = b.charAt(0);
return order.indexOf(firstAlphaOfParam1) - order.indexOf(firstAlphaOfParam2);
})
console.log(StrArray);
该解决方案仅考虑仅按元素的第一个字母表排序StrArray
。基本上我们采用第一个字母并在您的索引中找到jngmclqskrzfvbwpxdht
并比较它们
推荐阅读
- google-analytics - GA中的实时活跃用户
- android - Android Kotlin:是否可以将 LastLocation 存储在变量中?
- django - Django Vue Js Axios 已被 CORS 策略阻止
- python - 无法安装 pyOTDR
- mysql - 创建记录后无法更新记录Vue.js/Vuetify/Axios
- ios - 构建错误。在具有多个目标和 NotificationServiceExtensions 的 Xcode iOS 应用程序中安装 Firebase
- javascript - 从点击中获取坐标以使用
- ms-access - 查找我以新形式打开的记录
- objective-c-blocks - Microsoft MSAL ObjC - 尝试以交互方式获取多个范围的令牌
- python - 如何管理 pytests 的 `tests` 文件夹名称与 jupyter 扩展的冲突