LoginSignup
1
0

More than 5 years have passed since last update.

席替え用プログラム(ワンライナー)

Posted at

昔、ES2015の練習用に書いた席替え用プログラムが発掘されたので晒しておきます。

まずは基本形。JavaScriptではrange関数がないのでArray.keys()の結果をスプレッドオペレータで展開してからソートします。

席替え用プログラム(基本形)
[...Array(25).keys()].map(x=>++x).sort(()=>Math.random()-0.5)
// (25) [1, 15, 2, 18, 3, 10, 12, 4, 21, 20, 23, 19, 5, 16, 9, 8, 6, 11, 17, 24, 22, 14, 7, 13, 25]

座席表らしい表示になるようにjoinでセパレータを入れて結合し、指定列数で改行コードを入れる処理を追加しました。
5の倍数の配列の時に最後にゴミが入る問題があるのですが、対応を入れるのが面倒なので放置しています。

席替え用プログラム(表示用加工版)
"| "+[...Array(25).keys()].map(x=>++x).sort(()=>Math.random()-0.5).map((x,i)=>i%5==4?x+" |\n":x).join(" | ")+" |"
// "| 15 | 11 | 14 | 8 | 19 |
//  | 3 | 10 | 17 | 2 | 7 |
//  | 13 | 5 | 16 | 9 | 21 |
//  | 12 | 18 | 24 | 23 | 1 |
//  | 4 | 6 | 22 | 20 | 25 |
//  |"
1
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
1
0