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

    私的良スレ書庫

    不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
    ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

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

    JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    701 : Name_Not - 2019/02/11(月) 22:00:52.67 ID:???.net (+31,+2,-2)
    >>700
    お前がキチガイruby荒らしだろうが死ね!
    702 : Name_Not - 2019/02/11(月) 22:06:42.29 ID:???.net (+31,-1,+0)
    >>674
    賛成。どうやってID入れるの?
    703 : Name_Not - 2019/02/11(月) 22:06:55.12 ID:???.net (+22,-29,-43)
    文字列などのprimitive は、値しかないから変化しないので、キーに適する

    一方、インスタンスは参照・インスタンスID だから、
    そのインスタンスが削除されたら、キーが消えて、データを取り出せなくなる
    704 : Name_Not - 2019/02/11(月) 22:09:08.04 ID:???.net (+64,+29,-3)
    >>700
    全部お前のせいだろ。JSにもRubyにも迷惑かけんな。氏ね
    705 : Name_Not - 2019/02/11(月) 22:10:27.36 ID:???.net (+10,-21,-18)
    >>702
    メール欄を空にするとIDが表示されるよ
    706 : Name_Not - 2019/02/11(月) 22:18:30.54 ID:+9vGuAqz.net (+10,+22,-2)
    こうかな?
    707 : Name_Not - 2019/02/11(月) 22:19:22.37 ID:+9vGuAqz.net (+22,+29,-5)
    あ、できた。じゃあ改めまして、反対
    708 : Name_Not - 2019/02/11(月) 23:24:03.47 ID:qOol5gap.net (+13,+28,+0)
    じゃ賛成
    709 : Name_Not - 2019/02/11(月) 23:33:12.93 ID:???.net (+63,+30,-104)
    例えばJavaと間違われるから見た人が間違わないようにJava禁止と入れるとかいうのなら分かるが
    かなり関連性の低い言語の名前を入れるってスレタイ汚しにしかならんから絶対やめろ
    Rubyの話題出してる奴が入れたから来ないわけでもないし、そんなことで議論する暇があったら
    >>1のテンプレを時代に合わせて改良しようとしろ
    ガキクサ
    710 : Name_Not - 2019/02/11(月) 23:38:26.80 ID:9S1cKNJC.net (+30,+29,-182)
    >>703
    こんのクソボケrubyキチガイまーた適当ブッこきやがって死ね。
    オブジェクトをmap替わりに使う場合は適するもクソもキーには文字列かシンボルしか使えねーんだよタコ。
    任意のオブジェクトをキーにできるMap欲しいねってことでMap/WeakMap採用されたんだろうがカス。
    キーに登録したオブジェクトが消えたらキーも消えて取り出せなくなるのはMapじゃなくてWeakMapの挙動だハゲ。
    そのWeakMapの挙動もメモリリーク防げるよう望まれて規定された性質だ糖質。

    嘘ばっかり喚き散らしてほんとこいつ嫌い死ね。
    というわけで賛成!
    711 : Name_Not - 2019/02/12(火) 00:45:41.91 ID:4ykDHYMr.net (-27,-15,-2)
    でh賛成
    712 : Name_Not - 2019/02/12(火) 06:57:35.01 ID:MxHdGGkL.net (+4,+19,-1)
    反対
    713 : Name_Not - 2019/02/12(火) 07:24:06.19 ID:???.net (+57,+29,-12)
    何かアンケやってるけどスレタイじゃなくてテンプレでしょ?
    そこ違うと結果も全然違うと思うんだけど
    714 : Name_Not - 2019/02/12(火) 08:16:28.07 ID:CiVuf1El.net (+7,+22,+0)
    賛成
    715 : Name_Not - 2019/02/12(火) 08:34:47.82 ID:gDTswq6u.net (+19,+29,-16)
    いつも辟易してるので賛成
    716 : Name_Not - 2019/02/12(火) 11:34:09.14 ID:zctw014f.net (+24,+29,-23)
    Ruby禁止とかつけた所で、じゃあPythonならいいのか?ってことになるので
    意味がない。荒らしはどうせつけた所で書き込むので
    スレタイが長くなるだけで何の効果もない。よって反対
    717 : Name_Not - 2019/02/12(火) 11:39:28.30 ID:???.net (+55,+29,-23)
    ruby信者が圧倒的にキチガイで辟易しているからこんな事を話ているわけで
    718 : Name_Not - 2019/02/12(火) 11:47:37.48 ID:???.net (+91,+29,-20)
    それならNGワードにでも登録すりゃ良い
    スレタイに入れた所で書き込みを制限することはできないんだから
    719 : Name_Not - 2019/02/12(火) 12:35:50.55 ID:???.net (+70,+29,-3)
    >>718
    それな

    いちいち騒いでるやつの方がうざいわ
    720 : Name_Not - 2019/02/12(火) 12:40:56.28 ID:???.net (+42,+14,-3)
    低レベルなruby信者がrubyで回答しているのが一番の問題
    721 : Name_Not - 2019/02/12(火) 12:48:57.31 ID:???.net (+58,+29,-11)
    承認欲求ってやつなんだろうな
    賛成いっぱいもらいたい
    賛成いっぱいもらったから俺が言ったことは認められたんだ
    みたいな
    722 : Name_Not - 2019/02/12(火) 13:10:45.76 ID:???.net (+55,+29,-16)
    スレ違いにいちいち反応するバカばっか
    723 : Name_Not - 2019/02/12(火) 14:45:14.25 ID:xVLF7M/n.net (+22,+29,-3)
    理解できないことに反応するバカばっか
    724 : Name_Not - 2019/02/12(火) 14:46:56.01 ID:???.net (+14,-30,-204)
    >>697
    なるほど、閲覧していたサイトもreturn falseをしていました
    ただ同じコードを再現しようとしたとき、なぜかinnerHTMLを加えるとブラウザ側のコンテキストメニューが消えてしまいましたね
    console.log(1);
    return false;
    //これだとブラウザ側のコンテキストメニューが出る
    console.log(1);
    elm.innerHTML='';
    return false;
    //これだと出ない(return falseの有無でも同じ)

    自分はおそらく使う機会が無いのでだから何なんだという話なのですが・・
    725 : Name_Not - 2019/02/12(火) 23:31:46.71 ID:???.net (+36,-29,-47)
    例えば、model press のサイトでは、
    画像上で、右クリックメニューを表示させたくない

    表示されると、画像をダウンロードされてしまうから

    だから、return false で検索すると、その場所が見つかる
    726 : Name_Not - 2019/02/13(水) 00:29:27.88 ID:???.net (+62,+29,-50)
    >>725
    >表示されると、画像をダウンロードされてしまうから

    客や代理店とかもたまに言うけど哲学的表現だよなあ

    ダウンローして表示した画像を右クリック出来るとダウンロードされてしまう…
    727 : Name_Not - 2019/02/13(水) 00:34:06.16 ID:???.net (+35,-26,-6)
    firefoxなんだが
    SHIFT押しながらだと普通に右クリックで
    メニューが出てきたな
    728 : 724 - 2019/02/13(水) 00:51:22.08 ID:???.net (+60,+29,-133)
    例えば、model press のサイトでは、
    乃木坂46のNo.1 美人、佐々木琴子の記事が、最も参照される!

    この画像をダウンロードされると、定期的に見に来てくれなくなるから、広告のクリックが減ってしまう

    また、表示される広告も、個人や時期によって、コロコロ変わる

    例えば、佐々木琴子の着ているパーカーを検索してから、ページを見ると、
    PUMA のロシアのジャケットが表示されるようになる

    それで、そのサイトから買えば、広告収入が入る
    729 : Name_Not - 2019/02/13(水) 01:58:02.78 ID:???.net (+62,+29,-5)
    >>727
    知らなかった
    もう右クリックOKのアドオンいらんわ
    ありがとう
    730 : Name_Not - 2019/02/13(水) 11:49:50.64 ID:TIT4YwtD.net (-27,-30,-293)
    なんかを集計し、キーを日本語にしたいとき
    オブジェクトをいわゆる連想配列っぽく使うのが普通のやり方ってことでいいんですかね

    たとえば
    const arr = ["孫 悟空", "孫 悟飯", "孫 悟天", "猪 八戒", "沙 悟浄"];
    というリストを元に
    //obj = {
    //"孫" : "悟空 悟飯 悟天",
    //"猪" : "八戒",
    //"沙" : "悟浄"
    //};
    のような結果が欲しい場合、

    const obj = {};
    arr.forEach((elem)=> {
    const seimei = elem.split(' ');
    const sei = seimei[0];
    const mei = seimei[1];

    if( obj[sei] !== undefined ) {
    obj[sei] += " " + mei;
    }else{
    obj[sei] = mei;
    }
    });

    とするってことでいいんでしょうか
    ifの部分(そのキーの中身がまだない場合)がやや大げさに感じるのですが、これはしょうがないんですかね
    731 : Name_Not - 2019/02/13(水) 13:14:46.05 ID:???.net (+52,+29,-10)
    >>730
    まあそうだわな
    それよりスペース区切り文字列で格納するってちょっと斬新と思った
    732 : Name_Not - 2019/02/13(水) 13:21:49.33 ID:???.net (+57,+29,-1)
    確かに カンマやタブは珍しくないけど
    733 : Name_Not - 2019/02/13(水) 13:26:25.11 ID:???.net (+57,+29,-38)
    配列にする以外の発想がなかった俺の
    頭の硬さたるや…
    734 : Name_Not - 2019/02/13(水) 13:33:15.39 ID:???.net (+4,-30,-60)
    >>730
    const obj = arr.reduce((acc, name) => {
    const [sei, mei] = name.split``;
    acc[sei] = acc[sei] ? acc[sei] + ' ' + mei : mei;
    return acc;
    }, {});
    735 : Name_Not - 2019/02/13(水) 13:34:22.53 ID:???.net (+20,-30,-63)
    >>734
    間違えた
    >>730
    const obj = arr.reduce((acc, name) => {
    const [sei, mei] = name.split` `;
    acc[sei] = acc[sei] ? acc[sei] + ' ' + mei : mei;
    return acc;
    }, {});
    736 : Name_Not - 2019/02/13(水) 14:25:50.54 ID:???.net (+11,-30,-88)
    >>735
    まあそんな感じじゃない?
    あまり空白でつなげるってないけど、俺なら
    const obj = {}
    for (const [sei, mai] of arr.map(name => name.split(' '))) {
    if(obj[sei]) {
    obj[sei] += ' ' + mei;
    } else {
    obj[sei] = mei;
    }
    }
    あたりにしそう
    737 : Name_Not - 2019/02/13(水) 15:09:48.19 ID:???.net (+5,-28,-3)
    無駄に配列に入れてjoinしようぜ!
    738 : Name_Not - 2019/02/13(水) 15:17:39.64 ID:???.net (+41,+23,+0)
    ルー感
    739 : Name_Not - 2019/02/13(水) 16:26:54.65 ID:???.net (+38,-30,-97)
    >>737
    これならどう?
    const obj = Object.entries(arr
    .map(name => name.split` `)
    .reduce((acc, [sei, mei]) => (acc[sei] = [...(acc[sei] || []), mei], acc), {}))
    .reduce((acc, [sei, meis]) => (acc[sei] = meis.join` `, acc), {});

    >>735ならループ1回、
    >>736ならループ2回で済んでいるところ、
    なんとこれは計4回も無駄にループしてる。
    まいったか
    740 : Name_Not - 2019/02/13(水) 16:48:20.13 ID:???.net (+68,+28,-17)
    >>739
    jsである以上無駄ループはある程度仕方ないと思うけど、reduce内で副作用があるのは個人的に好きくないんだ
    副作用はfor文で明示したい
    741 : Name_Not - 2019/02/13(水) 17:20:55.55 ID:???.net (+80,-30,-76)
    >>740
    副作用取ったぞ!
    const obj = Object.entries(arr
    .map(name => name.split` `)
    .reduce((acc, [sei, mei]) => ({...acc, [sei]: [...(acc[sei] || []), mei]}), {}))
    .reduce((acc, [sei, meis]) => ({...acc, [sei]: meis.join` `}), {});
    742 : Name_Not - 2019/02/13(水) 17:48:30.03 ID:???.net (+98,+29,-6)
    >>741
    ちょっと笑った
    やっぱりjsで関数型ちっくにやるもんじゃないな
    743 : Name_Not - 2019/02/13(水) 17:55:41.03 ID:???.net (+68,+29,-15)
    >>741
    もはや読み解く気にもならなくて草
    744 : Name_Not - 2019/02/13(水) 18:16:03.66 ID:???.net (+29,-30,-78)
    ループ1回で済む>>735から副作用取ればいいじゃん。
    const obj = arr.reduce((acc, name) => {
    const [sei, mei] = name.split` `;
    return {...acc, [sei]: acc[sei] ? acc[sei] + ' ' + mei : mei};
    }, {});
    745 : Name_Not - 2019/02/13(水) 18:37:32.15 ID:???.net (+41,+9,-30)
    >>744
    ループ回数分オブジェクトが再構築されるのがえぐい
    746 : Name_Not - 2019/02/13(水) 18:52:46.75 ID:???.net (+55,+29,-32)
    じゃあ副作用使え。
    現在のコンピュータのアーキテクチャでは副作用使った方が効率はいい。
    そうしないのは効率以外のメリットがあるからだが今回reduce内のアキュムレータなんぞはわりとどうでもいい。
    747 : Name_Not - 2019/02/13(水) 19:11:33.23 ID:???.net (+57,+29,-22)
    arrを破壊しちゃダメなケースもあるでしょ
    イテラブルをループ内でミューテートはノーグッド(ルー風)
    748 : Name_Not - 2019/02/13(水) 19:17:12.47 ID:???.net (+4,-29,-2)
    おっちゃん

    name.split` `;

    これが馴染めん…
    750 : Name_Not - 2019/02/13(水) 19:28:43.60 ID:???.net (+39,-30,-136)
    >>748
    第一引数に文字列を取り、第二引数以降がないか、または省略できる関数hogeに対し、hoge('fuga')をhoge`fuga`と書いて同等の結果を得ることができる。
    これはES2015のtaged templatesの仕様と、['piyo'].toString()が'piyo'となるjsの仕様を組み合わせて利用したイディオム。
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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