Intl.Collator
Javascript 用のカスタム オブジェクトを作成することは可能ですか? 私が持っているとします:
var letters = [ "a", "n", "ñ", "x" ]
それらを並べ替えると、ñ
デフォルトで最後に移動します。
letters.sort() // [ "a", "n", "x", "ñ" ]
ただし、 new を使用すると、次のIntl.Collator
ことができます。
letters.sort(Intl.Collator('es').compare)
es
スペイン語 ( ) のルールでソートし、ñ
後にn
.
[ "a", "n", "ñ", "x" ]
さて、なんらかの理由で自分の を書きたいと思ったとしCollator
ますñ
。
[ "ñ", "a", "n", "x" ]
の新しいルール セットのカスタマイズに関する情報を見つけることができませんでしたIntl.Collator
。
これは可能ですか?
アップデート
はい、可能です。
アップデート:
カスタム ロケールの作成方法に関するECMAscript i18n standard 2のアドバイスを見つけました。
function MyCollator(locales, options) {
Intl.Collator.call(this, locales, options);
// initialize MyCollator properties
}
MyCollator.prototype = Object.create(Intl.Collator.prototype);
MyCollator.prototype.constructor = MyCollator;
// add methods to MyCollator.prototype
var collator = new MyCollator("de-u-co-phonebk");
a.sort(collator.compare);