strng配列があります。
例えば:
StrArray = ["hook", "hour", "javascript", "nemo", "case"];
StrArray.Sort()を使用すると、アルファベット順にソートされることを知っています。しかし、私はこのアルファベットを使用してソートしたいと思います= "jngmclqskrzfvbwpxdht"
検索しましたが、HashTableを使用して解決している人しか見つかりません。
JSで行うことは可能ですか?
並べ替えの語彙に単語のすべての文字が含まれているわけではないため、並べ替えリストに「o」がないため、「時間」や「フック」などの単語の処理方法が完全には明確ではありません。それらを無視して、リストにないものはすべてソート順で等しいものとして扱うことができます。また、「フック」や「フック」などの同様のベースに対してテストする必要があります
例えば:
let StrArray = ["hook", "javascript", "nemo", "hours", "case", "hour", "houn"];
const sort_order = "jngmclqskrzfvbwpxdht"
StrArray.sort((a, b) => {
let i = 0;
while (i < a.length && i < b.length ){
let a_i = sort_order.indexOf(a[i]),
b_i = sort_order.indexOf(b[i]);
if (a_i === b_i ) {
i++
continue
}
return a_i - b_i
}
// one is a substring of the other, sort by length
return a.length - b.length
})
console.log(StrArray)
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加