どうも!chuckです。
引き続きUnderscore.jsの勉強をしていきます。
今回は集合に関するメソッドを使っていきます。
union
unionを使うとor集合として、重複を排除した集合が得られます。
[1, 2, 5]と[5, 2, 8]のor集合は[1, 2, 5, 8]となります。
intersection
intersectionを使うと、和集合として重複している部分のみ取得できます。
重複しているのは2と5なので、[2, 5]が得られます。
difference
differenceを使うと、片方のみが持つ要素を取得できます。
この場合、配列aにあって配列bにはない要素を返すので、1が取得できます。
unique
uniqueを使うと、引数に与えられた要素から重複を排除します。
ザックリとですが、集合関連のメソッドを見ていきました。
JavaScriptで書く
毎度のごとく、JavaScriptで書き換えてみます。
union
さすがに長いですね…笑
intersection
unionよりかはカンタンでした。
difference
こんな感じでしょうか。関数として外部化する必要はなかったかも…。
unique
ほぼUnionと一緒ですかね。こんな感じになりました。
まとめ
今までと比べると、JavaScriptで書いた場合の記述が増えてきました。アルゴリズム的にも複雑になってきて、そろそろ僕の能力がギブアップしそうです。
次回あたりは自力で書けないかもしれません笑 でも、それならますますUnderscoreの恩恵が大きくなりますね!次回に乞うご期待です。
書いたコード