のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,062,916人
昨日:no data人
今日:
最近の注目
人気の最安値情報

    元スレ+ JavaScript の質問用スレッド vol.133 +

    JavaScript覧 / PC版 /
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter

    651 = :

    それより>>647が提示したコードがいろいろヤバい

    652 = :

    関数型っぽい書き方の方がイケてることに異論はありませんが
    パフォーマンスではforやwhileの方が勝ります
    ループ中で繰り返し呼び出されるような処理では、
    やはりforやwhileで書きますよね?

    654 = :

    比較して見ると、複雑な箇所が分かりやすいかもね

    let i = 4;
    while (i--) obj.a();

    for (let i = 0; i < 4; i++) obj.a();

    for (let v of [4,3,2,1]) obj.a();

    [4,3,2,1].reduce(()=> obj.a());

    656 = :

    >>647
    おいおい、
    obj.a();obj.a();obj.a();obj.a();

    obj.a().a().a().a();
    は全然ちがうんだが。
    reduceの動作理解した上での批判ならまだしも、それじゃお前が理解できないものを僻みで批判してるだけじゃん。

    657 = :

    >>656
    >>643に言及してるんだけど、流れが読めない人?

    658 = :

    >>654
    おいおい、
    obj.a();obj.a();obj.a();obj.a();

    obj.a().a().a().a();
    は全然ちがうんだが。
    お前が書いたやつは全部
    obj.a();obj.a();obj.a();obj.a();
    になる。
    お題は
    obj.a().a().a().a();
    お前のだとアキュムレータ使ってないからそれこそreduceの意味まったく無い。
    初心者か?
    はじめてのjavascriptからやり直したら?

    659 = :

    >>658
    >>657

    662 = 661 :

    しかも、>>607の要件だとしても、本質は変わらないと思う

    let i = 4;
    while (i--) obj = obj.a();

    for (let i = 0; i < 4; i++) obj = obj.a();

    for (let v of [4,3,2,1]) obj = obj.a();

    [4,3,2,1].reduce(obj => obj.a(), obj);

    663 = :

    >>662
    全然違うわボケ
    それだとアキュムレータ使っているのでforEachではなくreduceを採用する意味がある。
    >>654のクソコードはreduceの意味がまったく無い。アキュムレータ使っておらずforEachで十分。

    eval擁護するわ
    [4,3,2,1].reduce(()=> obj.a());
    こんなクソコード書くわ
    ほんと酷いなお前

    666 = :

    そりゃそうだろエラーになるし
    どうでもいいけど

    668 = :

    >>663
    >>662>>614と同じに見えるが、なにいってんだ、おまえは?
    全否定するなら、他の回答も全て否定しろよ

    669 = :

    関数型の本読むと
    forより関数型の再帰のほうが抽象性が高くてよみやすいからいいと書いてたりする。
    自分も書き慣れたforでやっちゃうけど。

    670 = :

    >>612にレスしない=容認と思い込んで、ダブスタ扱い
    >>643の要件定義が甘いのを無視して、要件が違うとキレる
    >>614と同じ書き方をして、クソコードとキレる

    ボロボロだな

    671 = :

    >>668
    お前こそなに言ってんだ?
    >>>662>>614と同じに見えるが

    はぁ?>>663のどこに>>662>>614が違うと書いてあるんだ?

    672 = :

    いい感じで荒れてるな
    お前らちょろいわ

    673 = :

    暇つぶしに姉妹スレの方もよろしくおねがいします

    + JavaScript のお題用スレッド +
    http://mevius.5ch.net/test/read.cgi/hp/1526666703/

    674 = :

    有名になったら急に親戚が増えるのと似てるな。
    そんなクソスレは知らん!

    675 = :

    なんだかなぁ
    例えば配列の中身は使わないけど、ただ繰り返しのためにreduceを使うということも
    任意の長さの有効な中身が入った配列を作るハックも
    何らしかの理想形を目指す過程で1つだけ妥協してそういったテクニカルな物を入れるのはありだと思うけど

    例えば何かの絵でも文章でもいいから特定の理想スタイルに拘って作ってたとして、
    表現が困難な部分が1箇所くらいでてきてもあまり品質を損なわせること無くごまかせるけど、
    あちらもこちらもということになると元々目指してた理想とは随分形が変わってくるし、
    他人が見たときにそれが何を目指したものなのかすらわからなくなる
    苦労してそんなものしか作れないのなら
    最初からもっと楽してカッコつけなくて描く方法があるでしょってことになる

    676 = :

    質問

    reduceのアキュムレータで引き回して hoge.a().a().a().a() ... .a(); と実行させる方法
    引き回し用の変数oにhogeを入れたうえでforで o=o.a(); を実行させる方法

    見た目・行数以外で
    これら2つの方法で厳密に言うと何と何と何がどう異なる?
    要件としては>>607のとおり、function func(){}内で実行、returnしない、として

    677 = :

    重めのファイルを大量にダウンロードするパートがあるwebアプリで同時ダウンロード数3とか4とかに絞りつつ、それぞれのレーンはシリアルにダウンロードタスクこなしてくという処理に、
    ダウンロードのpromiseの配列をreduceの中でaccum.thenで繋いでく方法取ったな。forよりだいぶん簡単に書けたが、知らん人には何やってんのかさっぱりやろな。

    678 = :

    糞アプリですか違法アプリですか

    679 = :

    C++とか他の言語からさらにやってJSのクラス(プロトタイプ)とかみるとよくわからないってよくきくけど
    JSからはいってC++とかいくとどうなの?

    680 = :

    ちょっとアレだからノーコメントで…
    でも俺は頼まれて作っただけだからな。

    681 = :

    頼まれても作っちゃいけないモノってのがあるわけだが、そんなものを作ったと書き込むこともどうかと

    682 = :

    >>679
    ・盛大に混乱するがなんとか順応してやっていける
    ・C++に行こうとして挫折する

    どっちか

    683 = :

    実際はダウンロード数はブラウザが勝手に抑制して
    同時に発行しても一定以上はpendingとなるから気にしなくても良い

    684 = :

    決め打たなければならなかったんだよ。
    ブラウザの制限にまかせとくと弾かれてしまうという…案件。

    686 = :

    このスレのタイトルが数式になってるんだと思って実行してみたら
    Uncaught SyntaxError: Unexpected identifier
    というエラーが出ました
    どうすればいいですか?
    そもそもJSかくひとならJSで実行できるスレ体にするべきじゃないですか?
    アホですか?

    687 = :

    おい、無視すんな。面白いこと言ったんだから何か答えろ

    690 = :

    123abcという文字列をパースして
    123という数値に変換するのは
    バグだと思う

    693 = :

    >>690
    そんな君にお勧めなのが Number()

    694 = :

    >>692
    きみあたまいいね

    696 = :

    let a = { let x = 0; (何か処理); x; };
    みたいな感じで書けないのはおかしい

    let a = (() => { let x = 0; (何か処理); return x; })();
    と書くしかないのか?

    697 = :

    typeof null -> "object"はべつに仕様バグだとは思わんな
    だって例えばtypeof null -> "null"になったところで、
    対象がオブジェクトかどうか一発で判定できるわけではないし、
    状況がハッキリ好転したりはしないもの

    あとやっぱりJSに本当に必要なのは正確な判定ではなくて、
    柔軟さを活用して問題を飲み込んで単純化することだと思う
    つまり具体的にはtypeofのような存在による正確なオブジェクトの判定ではなく
    今提案もされてるobj?.propのようなオプショナルなプロパティアクセスが重要

    698 = :

    >>696
    ECMA Stage 1. do expressions
    http://github.com/tc39/proposal-do-expressions
    Chromeで試すには「 --js-flags="--harmony_do_expressions"」

    699 = :

    思う思わないじゃなくて作者がそう言ってるんだが。


    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

    類似してるかもしれないスレッド


    トップメニューへ / →のくす牧場書庫について