複数行テキストを行ごとにシャッフルする「Shuffle Lines」を作った

久々に Angular Utilities ネタ。

複数行のテキストを入力すると、行ごとに並び順をシャッフルする、「Shuffle Lines」というアプリを作った。

盲点だったのだが、JavaScript (ES2015) には Array#shuffle() のような関数がなかった。PHP とかだとあるんだけどな。

以下のように Math.random() を使って1行でも実装できるのだが、調べると大量に出てくる「フィッシャー・イエーツ法」で実装した。

それだけ。