首页 > 解决方案 > 如何使用特定字母对字符串数组进行排序?

问题描述

我有一个字符串数组。

例如:

StrArray = ["hook", "hour", "javascript", "nemo", "case"];

我知道如果我使用 StrArray.Sort() 它将按字母顺序排序。但我想用这个字母排序=“jngmclqskrzfvbwpxdht”

我已经搜索过,但我只发现有人使用 HashTable 来解决它。

可以在JS中做吗?

标签: javascript

解决方案


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并比较它们


推荐阅读