Closed MofuMofu2 closed 1 year ago
for...ofで繰り返し加算したいな〜とかいうとき、letなしで行ける手段はあるのか? undefinedの可能性があるもの(a? : stringみたいなやつ。名前わからん)が複数出てきた場合、みんなundefinedケアをどうしてるんだろう? if式を重ねて処理したがダサ…な感じである。ただケアしないとない場合のパターンが網羅できないので 🤔 である。
よく考えると、if式の中の処理は同じである。 undefinedな可能性があるものをObjectとしてまとめておけば良いのではないかと思った。
Object.value()
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
reduceって便利だなと思った。ドキュメントを眺めて開拓する精神が重要なのかもしれない?
概要
15 で次のようなことを書いていた。
よく考えると、if式の中の処理は同じである。 undefinedな可能性があるものをObjectとしてまとめておけば良いのではないかと思った。
Object.value()
でundefinedではないvalueを配列にする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