いまさらなのですが、sortOnのoptionはnumeric系だと明示的にドキュメントに記述されているのは
ということで、numericは昇順の”16 / Array.NUMERIC”だけ記述されているのですがDescriptionを読み進めていくと
Performing a descending numeric sort on the age field produces the following results:my_array.sortOn(“age”, 18)
ということで”18″も存在することが分かります。ただこのstrings値はなになのかしら?と疑問に思いました。別に”18″で指定すれば良いのですが、なんとなく気になりましてね。だれか知ってる人いたら教えてください。
個人的には今XMLの特定のattributesもしくはnodeValueをキーにしてsortOnを実行できるClassをつくろーかなと思ったりしております。まぁなんかXML ObjectをArray化して、再びXMLに復元とかいう無駄げな手順を想定しているのですが、既存のもととかあるんでしょうか?
「Array.sortOn()」への8件の返信
始めまして。いつも拝見させていただいております。
丁度昨日納品した案件でSORTを使っていて、なかなか四苦八苦していました。
で、その「18」ですが、多分「2+16」で「18」なんだと思います。
要するに「DESCENDING」と、「NUMERIC」のあわせ技なのではないかなぁと推測しております。
ボクの場合、もろにアルファベット順で昇順/降順を並べ替えてただけなので、この辺のオプションは実際には使っていないのですが。
って、的あってます?
あ、こちらこそ。いつも拝見しております。
すいません書き方悪かったみたいです。
sortOnのoptionは「数値フラグ」指定と「ストリングフラグ」指定の2種類があって、たとえば
my_array.sortOn(“age”, 16)
my_array.sortOn(“age”, Array.NUMERIC)
な感じで動作するのですが、
“18”のときの”ストリングフラグ”に相当するものはなんなのかなぁ?と・・。
一応
my_Array.sortOn(someFieldName, 2 | 16);
my_Array.sortOn(someFieldName, 18);
my_Array.sortOn(someFieldName, Array.DESCENDING | Array.NUMERIC);
は同じ意味であるというふうにドキュメントには書いてるんですけどね。OR(|)を使わないで一つで処理できないのかしら?(Array.DESCENDINGNUMERICではないらしい) とか、そういうどーでもいい疑問だったりしました。
紛らわしい書き方してすいませんーー。
あぁなるほど。やっぱ的外れでしたねw
失礼しましたぁ~
いえー、こちらこそ分かりにくい書き方で申し訳ない。
新作楽しみにしております。
こちらも楽しみにしております!
きゃー、ドキドキ
きゃー、はずかしい!(2008.11.25)
初々しいよねw