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

    私的良スレ書庫

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

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

    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
    651 : Name_Not - 2013/10/03(木) 22:49:01.79 ID:??? (+3,-29,-82)
    ライブラリを組み合わせる場合、
    たとえばクリックをstopPropagationをすると開いたポップオーバーが閉じない、
    という現象が出てきますね
    stopPropagationは基本的には使わず、
    preventDefaultは何か処理した時には基本的に行なう、
    という感じがいいでしょうか?
    652 : Name_Not - 2013/10/03(木) 22:50:22.59 ID:??? (+104,+30,-31)
    >>649=650
    自演の人格批判をして何が楽しいんですか
    こちらは質問スレらしいレスしかしていないので
    人格批判ですぐ話を逸らすあなたに言われるようなことはありませんよ
    653 : Name_Not - 2013/10/03(木) 22:52:44.58 ID:??? (-1,-29,-30)
    ブラウザのデフォ動作を防ぎたければpreventDefaultを使う
    654 : Name_Not - 2013/10/03(木) 22:57:33.84 ID:??? (+71,+29,-33)
    >>652
    質問の仕方が下手すぎるんだよ

    上手な質問の文章を作るという作業は
    回答をもらいやすいというだけでなく
    良いコードを書く上でも大事なんだぜ
    655 : Name_Not - 2013/10/03(木) 23:06:55.47 ID:??? (+57,+29,-5)
    全部公開しろとかアホすぎて何も言えんわ
    656 : Name_Not - 2013/10/03(木) 23:08:02.67 ID:??? (+57,+29,-6)
    こちらが提示できる条件は全部出しました
    これ以上できることはありません
    657 : Name_Not - 2013/10/03(木) 23:09:05.67 ID:??? (+52,+29,-26)
    解答者傲慢すぎww
    658 : Name_Not - 2013/10/03(木) 23:13:28.05 ID:??? (+21,+3,-1)
    自演乙
    659 : Name_Not - 2013/10/03(木) 23:58:37.01 ID:??? (+57,+29,-52)
    イベントハンドラの中でイベントハンドラをappendしたら
    追加したハンドラにも、その当該イベントは伝播しますか?
    660 : Name_Not - 2013/10/04(金) 00:11:19.43 ID:??? (+29,-16,-22)
    JavaScriptってオブジェクトじゃないですか
    例えば = とか + とかそういうのも上書きしたりできますか?
    661 : Name_Not - 2013/10/04(金) 00:22:57.40 ID:QHzg+peO (+28,+29,-3)
    >>660
    一行目で何を言いたいのかわからんかったから詳しく
    662 : Name_Not - 2013/10/04(金) 00:36:12.91 ID:??? (+24,+1,+0)
    オーバーロードは無理
    663 : Name_Not - 2013/10/04(金) 01:09:41.63 ID:??? (-2,-25,-4)
    オーバーロードはES7までおあずけ
    664 : Name_Not - 2013/10/04(金) 03:06:43.96 ID:??? (+10,-17,-4)
    array.sortの代わりにクイックソートを使ったら速くなったりしますか?
    665 : Name_Not - 2013/10/04(金) 03:10:32.71 ID:??? (+89,+29,-8)
    http://jsperf.com/quicksort-in-js/4

    jsパーフにありました~
    クイックソートおそすぎわろた
    努力のかいなさすぎ
    666 : Name_Not - 2013/10/04(金) 03:17:27.67 ID:??? (+52,+29,-2)
    お目目が節穴かな??
    http://jsperf.com/quicksort-in-js/8
    667 : Name_Not - 2013/10/04(金) 03:41:52.29 ID:??? (+57,+29,-7)
    古いバージョンだったのですか
    ありがとうございます
    これは努力の甲斐ありますね
    668 : Name_Not - 2013/10/04(金) 04:49:07.76 ID:??? (+3,-30,-169)
    一番速いFFpop+を更に合理化してみました
    配列の処理は基本的に重いのでベンチには現われませんが。
    あなたはこれよりキュンキュンに出来ますかな?

    function qs(array) {
    var pivot,left,right,v,len;
    len = array.length;
    if (len <= 1) {
    return array;
    }
    pivot = array.pop();
    left = [];
    right = [];
    for (; len>1; len--) {
    v = array.pop();
    (v < pivot ? left : right).push(v);
    }
    return qs(left).concat(pivot, qs(right));
    }
    669 : Name_Not - 2013/10/04(金) 08:49:14.13 ID:1DC/3sxI (-16,-29,-27)
    ユーザーが入力したURL文字列を受け取り、
    それを検証して妥当であるか、Public Suffixは含まれているかを調べたいのですが、
    Public Suffixを調べるにはどう処理をすればいいでしょうか?
    また、そういうLibraryがあれば教えてください。
    670 : Name_Not - 2013/10/04(金) 11:23:50.14 ID:??? (+57,+29,-35)
    あごさんがmasterブランチにプルリクエスト送ってることにショック
    そこは別のブランチ作って送信するべきなのに・・・・
    671 : Name_Not - 2013/10/04(金) 13:03:18.96 ID:??? (+3,-30,-109)
    配列操作しない方が速いよね。某テキストに載ってたものをJS化。
    function qs0(array) { qs1(array, 0, a.length-1); return array; }
    function qs1(a, i, j) {
    if(j <= i) return;
    var pivot = a[j], s = i;
    for(var k = i; k < j; ++k)
    if(a[k] <= pivot) { var x = a[s]; a[s] = a[k]; a[k] = x; ++s; }
    a[j] = a[s]; a[s] = pivot; qs1(a, i, s-1); qs1(a, s+1, j);
    }
    672 : Name_Not - 2013/10/04(金) 13:13:54.08 ID:??? (-1,-29,-30)
    げげ、 a.length-1 => array.length-1
    673 : Name_Not - 2013/10/04(金) 13:47:59.20 ID:??? (-1,-29,-6)
    そこまでするのならasm.jsとTypedArrayを使うべし
    V8も型決め型への対応を進めてる
    674 : Name_Not - 2013/10/04(金) 14:47:04.42 ID:??? (+52,+24,-22)
    asm.jsは4,5回書いたが未だ慣れん
    とにかくエラー表示が昔のIE並でデバッグかしづらくて敵わん
    675 : Name_Not - 2013/10/04(金) 15:02:59.06 ID:??? (+63,+29,-29)
    ありがとうございます
    でもものすごく遅いです
    http://jsperf.com/sort-sort/3

    何かの間違いかと思ってjsbinで確かめましたが正常動作しているように見えます
    http://jsbin.com/UwIniQO/1/edit

    どこか間違ってるのでしょうか?
    676 : Name_Not - 2013/10/04(金) 15:45:45.81 ID:??? (+52,+29,-3)
    誰が早いと言った?
    677 : Name_Not - 2013/10/04(金) 15:48:53.37 ID:??? (+38,+20,+0)
    !?
    678 : Name_Not - 2013/10/04(金) 15:51:52.22 ID:??? (-2,-30,-98)
    http://benchmarkjs.com/

    このベンチマークを使おうと思って

    <script src="benchmark.js"></script>

    と読み込んでサンプル通り

    var suite = new Benchmark.Suite;

    を実行するといきなりエラーになりますが
    どうしたらいいのですか?
    679 : Name_Not - 2013/10/04(金) 15:53:16.55 ID:??? (+7,-30,-234)
    >>638,639
    バージョン比較関数ですが、最終的にbなどにも対応させてこんな感じになりました

    function versionCompare(a,b) {
    if(typeof a !== "string" || typeof b !== "string")
    throw new TypeError('引数が文字列でないか、引数が不足しています');
    var f = function(c) {
    if(!c||/^[0-9]/.test(c)) return c|0;
    if(/^[a-z]/.test(c)) return -123 + c.charCodeAt(0);
    if(/^[A-Z]/.test(c)) return -91 + c.charCodeAt(0);
    };
    if(!(a = a.match(/(?:[0-9]+|[a-zA-Z]+)/g))) a = ["0"];
    if(!(b = b.match(/(?:[0-9]+|[a-zA-Z]+)/g))) b = ["0"];
    for(var i = 0, l = Math.max(a.length, b.length); i < l; i++) {
    a[i] = f(a[i]);
    b[i] = f(b[i]);
    if(a[i] > b[i]) return -1;
    if(a[i] < b[i]) return 1;
    }
    return 0;
    }
    680 : Name_Not - 2013/10/04(金) 16:09:02.40 ID:??? (+61,+29,-62)
    chromeのコンソール出力ですが
    大量に出力しリアルタイムに状況を見たい場合にスクロールアウトして不便です
    上に追加されて下に流れていけば見やすいと思うのですが
    なんとかする方法ありませんか?
    681 : Name_Not - 2013/10/04(金) 16:12:18.01 ID:??? (+57,+29,-11)
    いやしくもコンソール出力なら出力に追随しろと思うんですが・・
    682 : Name_Not - 2013/10/04(金) 16:26:29.30 ID:??? (+64,+24,-6)
    >>665
    今の今まで「JSぷれふ(jspref)」と勘違いしていた…
    683 : Name_Not - 2013/10/04(金) 16:29:54.91 ID:??? (+67,+29,-7)
    >>130
    それは保守しにくくてバグを生みやすいコード
    684 : Name_Not - 2013/10/04(金) 18:13:44.60 ID:??? (+6,-30,-91)
    >>680

    window.clear = console._commandLineAPI.clear
    とコンソールに打つ

    プログラム側でclear()してから再度今までのログを書き出すようにする
    685 : Name_Not - 2013/10/04(金) 18:23:33.09 ID:??? (+3,-30,-42)
    昔、JSコンソールがなくて、テキストエリアで手作りしていた頃の

    value += '¥n' + '新しいログ';

    とするか

    value = '新しいログ¥n' + value

    とするかの話じゃないのん?
    686 : Name_Not - 2013/10/04(金) 18:38:02.49 ID:??? (+57,+29,-22)
    クリアしなきゃ無尽蔵に溜まって重くなる
    毎回クリアしてラスト数十件くらいを出力
    それ以前は必要に応じて出力できるようにするのがベスト
    687 : Name_Not - 2013/10/04(金) 18:38:44.87 ID:??? (-2,-30,-83)
    こうだな
    console.clear = console._commandLineAPI.clear
    688 : Name_Not - 2013/10/04(金) 18:49:42.33 ID:??? (+10,-26,-52)
    >>675
    qs0は渡された配列をそのまま整列するじゃない。ベンチマークの方で毎回
    新しく配列を作って渡すんでないとへんなことになりそうだよね。
    689 : Name_Not - 2013/10/04(金) 19:07:45.59 ID:??? (+0,-28,-29)
    ありがとうございます
    consoleっていろいろ機能あったんですね
    console.timeとかも便利そうだ
    690 : Name_Not - 2013/10/04(金) 19:16:03.78 ID:??? (+21,-6,-25)
    そもそも上のソートは浮動小数点演算だから
    SMIの範囲だとまた変わるよ
    691 : Name_Not - 2013/10/04(金) 19:18:33.05 ID:??? (+57,+29,-8)
    あと要素数が少なければ当然オーバーヘッドの問題も出てくる
    692 : Name_Not - 2013/10/04(金) 19:55:02.30 ID:??? (+53,+15,-34)
    連想配列の中にあるデータを取得したいのですが
    いちいちキーを指定して取得するのが大変です
    連想配列には配列など色々入ってるのですが
    一気に全て展開する方法ありませんか?
    教えてください
    693 : Name_Not - 2013/10/04(金) 20:08:07.05 ID:??? (+38,+10,-30)
    例を書いて
    もし出力表示のことをいってるのならconsole.dirだけど
    きっと分割代入を求めてるんだと思う
    694 : Name_Not - 2013/10/04(金) 20:14:48.76 ID:??? (+57,+29,-25)
    四つの整数から最小のものを得る一番速い方法を教えてください
    695 : Name_Not - 2013/10/04(金) 20:28:25.71 ID:??? (-2,-30,-25)
    s = a<b ? a<c ? a<d ? a : d : c<d ? c : d : b<c ? b<d ? b : d : c<d ? c : d
    696 : Name_Not - 2013/10/04(金) 20:34:57.08 ID:??? (+36,-30,-32)
    http://jsperf.com/math-min-vs-ternary1

    function min (a,b,c,d) {
    var min1,min2;
    min1 = a < b ? a : b;
    min2 = c < d ? c : d;
    return min1 < min2 ? min1 : min2;
    }

    ありがとうございます
    この方が少し速いようです
    697 : Name_Not - 2013/10/04(金) 20:44:55.88 ID:??? (+62,+29,-5)
    >>696
    自分の環境じゃ後者のほうが微妙に早いよ
    698 : 692 - 2013/10/04(金) 20:55:57.21 ID:??? (+74,+22,+0)
    答えてください
    699 : Name_Not - 2013/10/04(金) 20:56:19.74 ID:??? (+57,+29,-5)
    質問の意味が分からないから答えようがない
    700 : Name_Not - 2013/10/04(金) 21:05:57.44 ID:??? (-1,-29,-15)
    エスパーだと配列のjoinみたいに全要素の値を文字列として欲しいんじゃないか?
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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