Intl.Collatorで五十音順に並べ替えることができない
Discussion
Closed
解決したいこと
JavaScriptのArrayの日本語のひらがなとカタカナを五十音順に並べ替えつつ、が、どうやっても、ひらがなとカタカナは一緒に並ぶ
例)
const unsorted = ["カ", "か", "ゆ","ちゅ","マ", "B", "b", "A", "a"];
const collator = new Intl.Collator("ja", { caseFirst: "lower" });
unsorted.sort(collator.compare); // ['a', 'A', 'b', 'B', 'カ', 'か', 'ちゅ', 'マ', 'ゆ']
発生している問題・エラー
なぜか、ひらがなとカタカナの順番が五十音順になっていない。
自分で試したこと
const collator = new Intl.Collator("ja", { sensitivity: 'base' });
unsorted.sort(collator.compare); // ['A', 'a', 'B', 'b', 'か', 'カ', 'ちゅ', 'マ', 'ゆ']
const collator = new Intl.Collator("ja", {
sensitivity: "accent"
});
unsorted.sort(collator.compare); // ['a', 'A', 'b', 'B', 'カ', 'か', 'ちゅ', 'マ', 'ゆ']
const collator = new Intl.Collator("ja", {
sensitivity: "case"
});
unsorted.sort(collator.compare); // ['a', 'A', 'b', 'B', 'か', 'カ', 'ちゅ', 'マ', 'ゆ']
const collator = new Intl.Collator("ja", {
sensitivity: "variant"
});
unsorted.sort(collator.compare); // ['a', 'A', 'b', 'B', 'か', 'カ', 'ちゅ', 'マ', 'ゆ']
const collator = new Intl.Collator("japanese", {
collation: "japanese"
});
unsorted.sort(collator.compare); // ['a', 'A', 'b', 'B', 'か', 'カ', 'ちゅ', 'マ', 'ゆ']
const collator = new Intl.Collator("en", {
caseFirst: "upper",
});
unsorted.sort(collator.compare); // ['A', 'a', 'B', 'b', 'か', 'カ', 'ちゅ', 'マ', 'ゆ']
const collator = new Intl.Collator("en", {
caseFirst: "lower",
});
unsorted.sort(collator.compare); // ['a', 'A', 'b', 'B', 'か', 'カ', 'ちゅ', 'マ', 'ゆ']
const collator = new Intl.Collator("ja");
unsorted.sort(collator.compare); // ['a', 'A', 'b', 'B', 'カ', 'か', 'ちゅ', 'マ', 'ゆ']
unsorted.sort(); // (9) ['A', 'B', 'a', 'b', 'か', 'ちゅ', 'ゆ', 'カ', 'マ']
// これはうまくいくのに....
0