Javascriptは何で回す?? 2022-12-01 13:43:43 | プログラミング Javascriptの配列っていろんな方法で回せて何でグルグルさせればいいのかわからない。 for foreach map reduce とかとかとかぁぁぁ ベストはどれなのよぉぉぉ ってなってる。 Javascript配列の繰り返し 好きなの使えばいいんだろうけど、多すぎる。 一番使われているのはいったいどれなんだろう。 いろんなプログラムをしらべてみようかなぁ « Javascriptの配列あたり | トップ | Javascriptのアロー関数なう »
1 コメント コメント日が 古い順 | 新しい順 Unknown (cametan_42) 2022-12-02 17:29:01 繰り返し、ってのは元々面倒臭いモンなの。っつーかビックリする事を教えましょう。「繰り返しはどんなにプログラミングに慣れてる人も嫌いだ」と言う事。何故ならまず必ず、って言って良いくらいに間違えるから。プログラムを勉強し始めた人が誤解してるのに、「プログラミングに慣れていけばミスが減るんだろうな」ってモノがある。真実は真逆で、むしろ「プログラミングに慣れてけば慣れる程」ミスが増えるんだ(笑)。こっちがむしろホント。特に「繰り返し」に関してはどんなテクニシャンだろうと間違える。貴方と「慣れた人」の差が何か、っつーと、後者は単に「ミスを怖がらない」だけなのね(笑)。もう膨大なエラーを浴びすぎて心が麻痺してる(笑)。さて、配列に対しての繰り返しなんだけど、なんで同じようなモンを何個も用意してるのか。まぁ、「ラクになるため」って言うのが正解なんだけど、段階があるのね。言語のコアに近い「低レベル」で汎用の機能から、言語のコアから離れて「ラクラクに書ける為」の機能まである。こういうのを「抽象度」と言って前者を「抽象度が低い」後者を「抽象度が高い」等と言ったりするんだけど。まず覚えるのは「抽象度が高い」ブツだ。「使うのがラク」だから。そして「使うのがラク」って事は汎用性をある程度犠牲にはしてる。んで貴方が挙げた4種類、forforeachmapreduceのウチ、まずは「何が何でも覚えて使いこなさないとならない」のはmapです。mapだけで貴方が今後対面するだろう問題の85%くらいは解決可能です。よってこれが第一、になる。次はreduce。これはmapで解けない問題の半数以上を解決する。65%くらいかな?つまり、mapとreduceで殆ど解ける。それで解決出来ない時「のみ」forの出番となる。じゃあ、forで100%解決出来んじゃん?とか思うかもしれないし、その通りなんだけど、forだらけのコードを書く人はダサい。ダサいかイケてるか、って判断になると「ダサい」のね。よって最重要はmapとreduce。その2つさえ克服できれば何とかなる。っつーか、殆どmap一本槍で行けるトコまで行く、ってのが正解って事になる。じゃあforeachは?って思うだろうけど、これはmapの別ヴァージョンだ。従ってmapを使いこなせるようになったら自然とforeachは使えるようになってるんで気にせんでエエ、って事です。foreachは副作用目的、なんだけど、今ここで副作用、って言われても分からんでしょ。だから取り敢えずforeachは忘れて、とにかく最初はmap。mapに頑張って慣れましょう。 返信する 規約違反等の連絡 コメントを投稿 goo blogにログインしてコメントを投稿すると、コメントに対する返信があった場合に通知が届きます。 ※コメント投稿者のブログIDはブログ作成者のみに通知されます 名前 タイトル URL ※名前とURLを記憶する コメント ※絵文字はJavaScriptが有効な環境でのみご利用いただけます。 ▼ 絵文字を表示 携帯絵文字 リスト1 リスト2 リスト3 リスト4 リスト5 ユーザー作品 ▲ 閉じる コメント利用規約に同意の上コメント投稿を行ってください。 コメント利用規約に同意する 数字4桁を入力し、投稿ボタンを押してください。 コメントを投稿する
っつーかビックリする事を教えましょう。
「繰り返しはどんなにプログラミングに慣れてる人も嫌いだ」
と言う事。何故ならまず必ず、って言って良いくらいに間違えるから。
プログラムを勉強し始めた人が誤解してるのに、
「プログラミングに慣れていけばミスが減るんだろうな」
ってモノがある。
真実は真逆で、むしろ「プログラミングに慣れてけば慣れる程」ミスが増えるんだ(笑)。こっちがむしろホント。
特に「繰り返し」に関してはどんなテクニシャンだろうと間違える。
貴方と「慣れた人」の差が何か、っつーと、後者は単に「ミスを怖がらない」だけなのね(笑)。もう膨大なエラーを浴びすぎて心が麻痺してる(笑)。
さて、配列に対しての繰り返しなんだけど、なんで同じようなモンを何個も用意してるのか。
まぁ、「ラクになるため」って言うのが正解なんだけど、段階があるのね。言語のコアに近い「低レベル」で汎用の機能から、言語のコアから離れて「ラクラクに書ける為」の機能まである。
こういうのを「抽象度」と言って前者を「抽象度が低い」後者を「抽象度が高い」等と言ったりするんだけど。
まず覚えるのは「抽象度が高い」ブツだ。「使うのがラク」だから。そして「使うのがラク」って事は汎用性をある程度犠牲にはしてる。
んで貴方が挙げた4種類、
for
foreach
map
reduce
のウチ、まずは「何が何でも覚えて使いこなさないとならない」のはmapです。mapだけで貴方が今後対面するだろう問題の85%くらいは解決可能です。よってこれが第一、になる。
次はreduce。これはmapで解けない問題の半数以上を解決する。65%くらいかな?
つまり、mapとreduceで殆ど解ける。それで解決出来ない時「のみ」forの出番となる。
じゃあ、forで100%解決出来んじゃん?とか思うかもしれないし、その通りなんだけど、forだらけのコードを書く人はダサい。ダサいかイケてるか、って判断になると「ダサい」のね。
よって最重要はmapとreduce。その2つさえ克服できれば何とかなる。っつーか、殆どmap一本槍で行けるトコまで行く、ってのが正解って事になる。
じゃあforeachは?って思うだろうけど、これはmapの別ヴァージョンだ。従ってmapを使いこなせるようになったら自然とforeachは使えるようになってるんで気にせんでエエ、って事です。
foreachは副作用目的、なんだけど、今ここで副作用、って言われても分からんでしょ。だから取り敢えずforeachは忘れて、とにかく最初はmap。mapに頑張って慣れましょう。