19/09/27(金)02:22:18 独学でJ... のスレッド詳細
削除依頼やバグ報告は メールフォーム にお願いします。個人情報、名誉毀損、侵害等については積極的に削除しますので、 メールフォーム より該当URLをご連絡いただけると助かります。
画像ファイル名:1569518538819.png 19/09/27(金)02:22:18 No.625898130
独学でJavaScript勉強してるけどreduceの概念が意味わかんなくて詰んだ 全部forとifじゃダメ?
1 19/09/27(金)02:33:17 No.625899385
よく使う処理を短く定型化したもんなんだから 使った方がわかりやすい場合は使った方が良いだろう それこそforはもっとシンプルなwhileとifで実装できるけど for使った方が圧倒的にわかりやすいじゃない?
2 19/09/27(金)02:42:55 No.625900379
reduceを基本的なステートメントで書くことももちろんできるがその場合 ループカウンタだの配列の要素数だの結果を保持する変数だの全部プログラマが正確に管理しないといけないじゃない そういうのをプログラマから解放して(すなわち、そこにバグを入れ込む余地をなくして)かつプログラマは必要な処理だけに集中できるんだ あとreduceはPromiseと組み合わせるとなかなか面白い
3 19/09/27(金)02:43:17 No.625900419
JS使ってる時点で処理量なんて度外視してるはずなんだからこんなんただのオナニーでしかないから覚えなくていいよ
4 19/09/27(金)02:43:45 No.625900456
やっぱみんな反復メソッドちゃんと使い分けてんのかな とりあえず理解できるようにもうちょい頑張ってみる ありがとう
5 19/09/27(金)02:44:35 No.625900529
凝って処理オーダー1個減らすより 普通に毎回for文読んだほうが分かりやすいしバグも少ない
6 19/09/27(金)02:51:26 No.625901093
forやit使うとコード量が多くなるからヤダ
7 19/09/27(金)02:57:38 No.625901595
>reduceを基本的なステートメントで書くことももちろんできるがその場合 >ループカウンタだの配列の要素数だの結果を保持する変数だの全部プログラマが正確に管理しないといけないじゃない >そういうのをプログラマから解放して(すなわち、そこにバグを入れ込む余地をなくして)かつプログラマは必要な処理だけに集中できるんだ 漠然と感じてたメリットが言語化されてて感心した
8 19/09/27(金)03:05:54 No.625902218
いやその人の言ってるのは間違ってるでしょ C#でいうところのyield処理ができるようにって実装でしょ?
9 19/09/27(金)03:09:30 No.625902470
C#でyieldがあるのにJSでできないのはおかしいって声に従って実装された余計な機能でしょ そもそもJSには要らないから言語仕様レベルで実装されてないのに俺は最適なコード書くマンなんだみたいな間違った方向に意識高い人がわざわざ使っちゃう恥ずかしいメソッドでしょ
10 19/09/27(金)03:09:35 No.625902475
reduceはmapやfilterと一緒に使ってるイメージ
11 19/09/27(金)03:10:55 No.625902581
あいつ
12 19/09/27(金)03:11:39 No.625902630
よしなよ
13 19/09/27(金)03:11:51 No.625902644
そんなに嫌いか…
14 19/09/27(金)03:13:22 No.625902739
5行が1行になる程度のものなんて最適化とは言わないんだよ JSに限ってはx^3オーダーがx^2オーダーになった程度でも要らない 重要なのはモジュールごとに分離することとロジックが簡潔明快であることだよ
15 19/09/27(金)03:13:27 No.625902744
C#全然知らないけど関数型プログラミングからきたテクニックと思ってた
16 19/09/27(金)03:15:01 No.625902848
馬鹿の需要によって産まれたアホメソッドは使わない エレメンタルな機能だけ作って見やすくコードすればよろしい
17 19/09/27(金)03:16:02 No.625902900
その理屈でいうとループ処理で値の計算がされてることが分かるからforループより明示的な気がする
18 19/09/27(金)03:16:26 No.625902919
見せかけだけのIT技術の進化なんて演出だからね シリコンバレーがプログラマー相手に金稼ぎするためのまやかしだよ ノイマン型コンピュータ上の構造化プログラミングから本当の歴史は一歩も動いてないんだから オブジェクト指向すらまやかしだよ
19 19/09/27(金)03:16:50 No.625902956
こんな時間に反復メソッドアンチとか笑かせるのやめてくれ
20 19/09/27(金)03:17:01 No.625902970
別にそんな複雑な処理でもないし口汚く罵るほどのもんか…?
21 19/09/27(金)03:17:34 No.625903010
きっとreduceに親を殺されたんだろう…
22 19/09/27(金)03:18:39 No.625903080
面白いからもう少し泳がせてみよう
23 19/09/27(金)03:23:16 No.625903364
ためになるなあ
24 19/09/27(金)03:24:17 No.625903427
>その理屈でいうとループ処理で値の計算がされてることが分かるからforループより明示的な気がする 自分もこう思ったけど実際どうなんだろう? まあ注釈を付ければ同じ話な気がするけど
25 19/09/27(金)03:26:52 No.625903586
よくわかんないけどyieldとreduceってそんな似てるか?
26 19/09/27(金)03:31:11 No.625903847
JSが主戦場でC#わかる人間がそもそもマイナーなのでは?
27 19/09/27(金)03:31:43 No.625903886
JSなら大好きだけどこのスレで言ってることはよくわからない
28 19/09/27(金)03:36:59 No.625904201
>よくわかんないけどyieldとreduceってそんな似てるか? さっとググったけど似てるのはGeneratorなんじゃないの
29 19/09/27(金)03:37:58 No.625904251
yieldの要点は単なる反復じゃなくてIEnumerableを返すのでLINQに組み込んでゴリゴリデータ処理できることで reduceの要点は反復で値の計算するのをシンプルに書けることだから 方向性が全然違う気がする…
30 19/09/27(金)03:45:20 No.625904710
まあfor文なんてそうそう使わないから
31 19/09/27(金)03:52:18 No.625905072
簡単なブラウザアドオンなら作れるようになってルンルン気分でこういうスレ覗くとプロとの知識の差に愕然とする 何言ってるかさっぱり分からないですよ俺は
32 19/09/27(金)03:53:46 No.625905143
C#がどうのこうの言ってるおじさんはプロじゃないと思うよ…
33 19/09/27(金)04:50:44 No.625907165
COBOL使いだから力になれなくてすまない
34 19/09/27(金)04:55:37 No.625907301
楽できる機能で言語組み込みなんだから ガンガン使おうぜ メモリの許す限り
35 19/09/27(金)05:58:29 No.625908834
Javaのstreamでも思ったなこれコード量減るけど可視性下がってないか?って まあ結局覚えてガンガン使ってるけど
36 19/09/27(金)06:09:42 No.625909175
真偽はともかく側から見てると過激なアンチほど自分には使いこなせる力量がありませんって公言してるように見えるな…