私は段落をアルファベット順にソートしようとしていますが、通常のABCではなく、作成済みの段落(var order)でソートしようとしています。javascriptで段落を手作業で並べ替える
私はこの機能を書いていますが、各単語の最初の文字のみで、単語内ソートではありません(たとえば、正しいABC 'banana'は 'birthday'の前に来るでしょう)。
ここからどこに行くのかわかりません。
$("#send").click(function() {
var text = $("#text").val().replace(/[^A-Za-z0-9_\s]/g, "").toUpperCase().split(" ");
var order = ["Q", "B", "K", "D", "H", "V", "Z", "E", "F", "O", "G", "L", "M", "S", "N", "P", "I", "X", "A", "R", "W", "U", "C", "J", "T", "Y"];
var i, t, j;
var newText = []; // will hold the new alphabet
// function to sort the words:
for (i = 0; i < order.length; i++) {
for (t = 0; t < text.length; t++) {
var firstChar = text[t][0];
if (order[i] == firstChar) {
newText.push(text[t]);
}
}
}
console.log(newText.join(','));
});
EDIT: 例の入力が可能:、 「こんにちはダンは、あなたが、これは驚くばかりであるとは思わない」と私は出力になりたい:「ありませんダンハイテクは、このことを考えて素晴らしいですか君は"。
、興味があるだけアルファベットの各文字にソート順位を割り当てることが仕事して、ランクによってソートすることはありません。ここでは、再帰を使用するソリューションですか? – Nope
サンプルデータと必要な結果を追加してください。 –
これは実装が非常に簡単であるはずですが、最初に予想される出力とともにHTML(または少なくとも入力値)を確認する必要があります –