JavaScript实现自定义字母顺序字符串排序

作者:半夏

时间:2026-10-27

浏览:120

本文介绍如何在JavaScript中根据特定的字母顺序对字符串数组进行排序。通过将字符映射为数字索引,利用sort方法实现排序,再还原为原始字符串,从而解决非标准字典序的排序需求。

文章目录

自定义字母顺序排序思路

假设给定一个特定的字母顺序,例如 "a"、"o"、"e"、"u"、"y"、"i",需要将包含这7个字符串的数组 ['aiye','oeu','ayo','eoyiu','yuo','you','iao'] 按照该特定顺序进行排序。



我的思路是将那6个指定字母分别映射为0至5的数字,随后把7个字符串中的字符替换为0至5范围内的数字,最后利用sort方法进行排序,代码如下:


JavaScript代码实现

具体实现代码如下:

 
var word = ['aiye','oeu','ayo','eoyiu','yuo','you','iao'];
var obj = {a:0,o:1,e:2,u:3,y:4,i:5};
var obj1 = {0:'a',1:'o',2:'e',3:'u',4:'y',5:'i'};
for(var index in word){
var word1 = word[index];
var word3 = "";
for(var i = 0; i< word1.length; i ++ ){
word3 += obj[word1[i]];
}; 
word[index] = word3
} 
word.sort();
for(var index in word){
var word1 = word[index];
var word3 = "";
for(var i = 0; i< word1.length; i ++ ){
word3 += obj1[word1[i]];
}; 
word[index] = word3
} 
console.log(word);

完整代码示例如下:

 
<pre code_snippet_id="173179" snippet_file_name="blog_20140127_1_4210131"></pre><pre code_snippet_id="173179" snippet_file_name="blog_20140127_1_4210131" name="code" class="html"><span class="source-code" style="font-family:Consolas,'Lucida Console',monospace; white-space:pre-wrap"><span style="font-family:Consolas,'Lucida Console',monospace; white-space:pre-wrap"></span></span><pre code_snippet_id="173179" snippet_file_name="blog_20140127_1_4210131"></pre>
<pre></pre>
<pre></pre>
<pre></pre>
<pre></pre>
<pre></pre>
<pre></pre>
<pre></pre>
<pre></pre>
</pre>

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章