0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【JavaScript】二進法を使って複数の曜日を単一のレコードで保存する

Last updated at Posted at 2019-11-03

#例
バイトのシフトテーブル

id name number
1 平日 62
2 休日 65
3 月水金 42

#コード(jQuery)

See the Pen zYYEJoM by ikeou (@ikeou3) on CodePen.

#やっていること
###月・水・金(例のid:3)をチェックした場合
①各チェックボックスのvalueを取得し合計を算出
 月曜:2 + 水曜:8 + 金曜:32 = 42
②合計値をDBに登録(今回は割愛)
③DBからデータを取得(今回は割愛)
④取得してきたデータを二進法表記に変更
 42 → 101010
⑤二進法表記を7桁に修正
 101010 → 0101010
⑥各桁の値を取得
⑦取得してきた値が「1」の桁をピックアップ
 0101010
 2,4,6桁目
⑧十進法に戻す(コードでは曜日の配列と突合)
 2桁目が1 → 0000010 → 2 → 月曜
 4桁目が1 → 0001000 → 8 → 水曜
 6桁目が1 → 0100000 → 32 → 金曜

#参考

十進法 二進法
日曜日 1 0000001
月曜日 2 0000010
火曜日 4 0000100
水曜日 8 0001000
木曜日 16 0010000
金曜日 32 0100000
土曜日 64 1000000
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?