簡単に値を反転させる方法
あるシステムで、一覧表のタイトルをクリックすると、クリックしたタイトルの列のデータを使って、昇順または降順でソートする機能を作成することになりました。
ソート自体は、データベースの機能を使うので簡単にできます。
次ににクリックしたときに、昇順または降順のどちらでソートするのか、どのように画面で保持すると簡単にできるのか、ちょっと悩みました。
photo credit: Amaury Henderick via photopin cc
ちょっと悩んだ結果
以下のように決めました。- 昇順または降順の2値なので、画面上で保持する値は、昇順を0、降順を1とする。
- 昇順でソートしたら、次は降順でソートしたいので、0から1を引くと-1になるので、絶対値を求めて降順の1とする。
- 降順でソートしたら、次は昇順でソートしたいので、1から1を引くと1になるので、絶対値を求めて昇順の0とする。
計算式ではなく、if文で文字列を使って処理することもできますが、今回は数値の方が都合がよかったので、これで予定通りの動作を作ることができました。