🧮
Notionでのランダムソートの作り方を徹底解説する
背景
活用の方法
- 英単語帳のシャッフル学習
- アイディアフラッシュ
などに
実際のFormula(関数)
一個ずつ解析していきます!
- → X
- %
- → Y
と分解してみていきましょー
1. X =
- → A
- idから英字を正規表現でマッチさせ排除
- これで数字だけが残る
- → B
- 10桁にスライス
- → C
- 数字化する
2. Y =
- 現在時間(分刻み)を返す
- → A’
- 現在時間をtimestamp化(ミリ秒)
- タイムスタンプUnixタイムスタンプの事で1970年1月1日から現在までを秒(ミリ秒)で数えた累積値
- → B’
- ミリ秒は1000ミリ秒で1秒
- 秒は60秒で1分
- 分は60分で1時間
- 時間は24時間で1日
- → C’
- タイムスタンプの値を日数化。時間があるため、小数点がつく
- 小数点以下を切り捨て
- 1970年1月1日から現在まで何日経過したかという計算結果が得られる
- そのため、1日経過すると値が変わり、最終的な結果が毎日変わるという意味
3. X % Y
XをYで割った余りを算出
4. X % Yの結果をソート
これで一日一回コロコロ結果が変わるようになる。
B’計算表
また、 → B’ の値を変更することで、結果が変わるタイミングを変更することが可能(最大1分毎まで)
| 計算値 | 結果 |
|---|---|
| 1週間毎 | |
| 1日毎 | |
| 半日毎 | |
| 1時間毎 | |
| 1分毎 |
以上です!
ロジックを追っていくとなるほどなぁ〜となるものの、ゼロベースでパッとは思いつかないものってありますよね。そんな一例だったかなと思います!
Akira Miyauchiさんありがとうございました!