MofuMofu2 / typescript-sandbox

MIT License
0 stars 0 forks source link

if文ネストをやめられるようにI/Fを変更した #21

Closed MofuMofu2 closed 1 year ago

MofuMofu2 commented 1 year ago

概要

15 で次のようなことを書いていた。

for...ofで繰り返し加算したいな〜とかいうとき、letなしで行ける手段はあるのか? undefinedの可能性があるもの(a? : stringみたいなやつ。名前わからん)が複数出てきた場合、みんなundefinedケアをどうしてるんだろう? if式を重ねて処理したがダサ…な感じである。ただケアしないとない場合のパターンが網羅できないので 🤔 である。

よく考えると、if式の中の処理は同じである。 undefinedな可能性があるものをObjectとしてまとめておけば良いのではないかと思った。

  1. Object.value()でundefinedではないvalueを配列にする
  2. Array.prototype.reduce()で配列に対して繰り返し足し算する(前の値に加算して配列が終わったら終わる)

こうすると、もし同人誌の計算に関わるパラメータが増減したときにifを修正する必要はない。 全くロジックが同じならこの対応がいいと思った。

よって、Object.value()で処理しやすいようにI/Fを変更し、処理をリファクタリングした。

https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Object/values

MofuMofu2 commented 1 year ago

reduceって便利だなと思った。ドキュメントを眺めて開拓する精神が重要なのかもしれない?