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

    私的良スレ書庫

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

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

    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
    401 : Name_Not - 2014/11/29(土) 15:21:08.94 ID:???.net (+4,-30,-54)
    for (var i=0; i<str.length; i++) {
    if (str[i] === "a') {
    str[i] = '0';
    } else {
    break;
    }
    }
    402 : Name_Not - 2014/11/29(土) 15:52:28.88 ID:???.net (+87,-25,-20)
    >>401
    ES5仕様だな
    後方互換性は切り捨てか
    403 : Name_Not - 2014/11/29(土) 16:09:46.38 ID:???.net (-24,-29,-25)
    ES5だろうが6だろうがプリミティブのプロパティに値をセットするなんてできないが
    404 : Name_Not - 2014/11/29(土) 16:16:41.43 ID:???.net (+11,+3,-31)
    >>402が互換性も考慮したコードを書いてくれるらしいぞ
    405 : Name_Not - 2014/11/29(土) 16:24:22.90 ID:???.net (-19,-30,-97)
    var str="aaaだよaaおわり"
    for (var i=0; i<str.length; i++) {
    if (str.substring(i, i+1) !== 'a') {
    str = str.substring(0, i).replaceAll('a', '0') + str.substring(i);
    break;
    }
    }
    console.log(str);
    406 : Name_Not - 2014/11/29(土) 16:29:48.63 ID:???.net (+64,+29,-16)
    >>402
    そういうくだらないレスいらんから
    408 : Name_Not - 2014/11/29(土) 16:40:00.24 ID:???.net (+5,-27,-15)
    参照ではなく代入の方を言ったんだが
    401の3行目だぞ
    409 : Name_Not - 2014/11/29(土) 16:50:45.54 ID:???.net (+3,-30,-97)
    var str="aaaだよaaおわり"
    for (var i=0; i<str.length; i++) {
    if (str.substring(i, i+1) !== 'a') {
    str = str.substring(0, i).replace(/a/g, '0') + str.substring(i);
    break;
    }
    }
    console.log(str);
    410 : 402 - 2014/11/29(土) 16:52:37.64 ID:mPm2GTPI.net (+0,+29,-15)
    >>408
    失礼、見落としていた
    確かに代入は無理だな
    411 : Name_Not - 2014/11/29(土) 16:59:25.41 ID:???.net (-9,-29,-29)
    >>407
    ES5だと文字列の配列アクセスが正式サポートされてるのが分かって有用だった
    412 : 402 - 2014/11/29(土) 17:07:35.75 ID:mPm2GTPI.net (-1,+28,-14)
    正規表現を使わないならこんなところか
    http://ideone.com/gBhnWI
    413 : Name_Not - 2014/11/29(土) 17:52:50.20 ID:???.net (+16,-30,-155)
    2本の直線を引きたいんですけどこうやると二番目の線が太くなってしまいました
    どうやったら同じ長さの線を引けますか?

    ctx.beginPath();
    ctx.moveTo(0, 0);
    ctx.lineTo(0, 100);
    ctx.closePath();
    ctx.stroke();

    ctx.beginPath();
    ctx.moveTo(100, 0);
    ctx.lineTo(100, 100);
    ctx.closePath();
    ctx.stroke();
    414 : Name_Not - 2014/11/29(土) 18:31:22.40 ID:???.net (+4,-30,-149)
    >>413
    ん?何でだろうな
    デバイスの解像度が表示場所によって違う…
    なんてことはないだろうな

    とりあえずSVGの複合パス的に↓みたいにすればでいんでないか?(適当)

    ctx.beginPath();
    ctx.moveTo(0, 0);
    ctx.lineTo(0, 100);
    //ctx.closePath();
    //ctx.stroke();

    //ctx.beginPath();
    ctx.moveTo(100, 0);
    ctx.lineTo(100, 100);
    ctx.closePath();
    ctx.stroke();
    415 : Name_Not - 2014/11/29(土) 19:07:27.87 ID:???.net (+38,-29,-63)
    >>413
    2本目が太いのではなく1本目が細くなっている
    (0,0)はキャンバスの左上の本当にぎりぎりなので、そこから下に線を引くと線の太さの内の半分がキャンバス外にはみ出てしまう
    解決方法は(0,0)とかギリギリに線を引かないこと

    本当に1pxの線を引きたいなら、最初にctx.translate(.5, .5);すると幸せになれる
    416 : Name_Not - 2014/11/29(土) 19:14:16.90 ID:???.net (+45,-30,-12)
    >>397
    >>398
    callbackもループも使わないでやる方法もある

    str.replace(/[^a][.\n]*/, '').replace(/a/g, '0') + str.replace(/^a+/, '')
    417 : Name_Not - 2014/11/29(土) 19:26:38.31 ID:???.net (+11,-30,-45)
    >>416
    しっかりと検証してから回答してくれ

    var str = 'aaaだよaaおわり';
    str = str.replace(/[^a][.\n]*/, '').replace(/a/g, '0') + str.replace(/^a+/, '')
    console.log(str); // 000よ00おわりだよaaおわり
    418 : Name_Not - 2014/11/29(土) 19:39:37.46 ID:???.net (+64,+29,-1)
    >>416がやりたかった事はこんな感じかね
    http://ideone.com/pRsMVh
    419 : Name_Not - 2014/11/29(土) 19:47:30.41 ID:???.net (+60,+27,+0)
    >>415
    これでした
    ありがとうございます
    420 : Name_Not - 2014/11/29(土) 20:50:27.58 ID:???.net (+8,-30,-34)
    >>417
    ドットが [] の中でただのドットだったのをうっかりしていた

    str.replace(/[^a](.|\n)*/, '').replace(/a/g, '0') + str.replace(/^a+/, '')
    421 : Name_Not - 2014/11/29(土) 21:03:35.11 ID:???.net (-2,-30,-12)
    全ての文字にマッチは普通[\s\S]を使う
    (.|\n)だと\u000dと\u2028と\u2029にマッチしない
    422 : Name_Not - 2014/11/29(土) 21:24:09.51 ID:???.net (+29,-29,-58)
    >>420
    str を2回 replace しているのがパフォーマンス的に無駄な気がする
    aaa と後述文字列を分けて処理をした方がパフォーマンスを稼げる
    423 : Name_Not - 2014/11/29(土) 22:12:52.36 ID:???.net (+54,+27,-5)
    >>422
    うん、で、どのくらい?
    424 : Name_Not - 2014/11/29(土) 22:40:30.32 ID:???.net (+91,+29,-5)
    ここは煽るだけの人ときちんと回答orアドバイスする人の2種類いるんだな
    425 : Name_Not - 2014/11/29(土) 23:05:48.17 ID:???.net (+69,+29,-16)
    >>424
    その2種類が別人だと思った?
    427 : Name_Not - 2014/11/30(日) 01:24:24.27 ID:???.net (+24,+3,-28)
    >>426
    jQueryのコードと自分のコードを連結すればよい。
    428 : Name_Not - 2014/11/30(日) 01:32:03.73 ID:???.net (+3,-29,-67)
    asyncつけると非同期にロード、実行できる代わり順序性が保証されないらしい

    だから基盤のライブラリ読み込みにつけるのは・・・ね

    CDN使う、minifyされたもの使う、gz圧縮用意してブラウザが対応してれば
    それ使うなど読み込み速くする別の方法探した方が無難
    429 : Name_Not - 2014/11/30(日) 01:43:55.78 ID:???.net (+38,+5,-89)
    jQueryよりも更に前に、JavaScriptローダーを読み込んで
    そこからjQueryを読み込ませるようにすれば良い。
    非同期でjQueryを読みつつ、完了したら自分のコードを実行してくれる。
    JavaScriptローダーっていうのはRequireJSなどのこと。
    430 : Name_Not - 2014/11/30(日) 11:17:39.22 ID:???.net (-9,-29,-32)
    >>426
    async を有効活用するなら、grunt 等で結合するしかない
    http://www.atmarkit.co.jp/ait/articles/1403/04/news020.html
    431 : Name_Not - 2014/11/30(日) 11:17:43.36 ID:???.net (-6,-24,+0)
    ○○JS
    432 : Name_Not - 2014/11/30(日) 12:02:33.27 ID:???.net (+32,-29,-8)
    internでテストするサンプルをおしえてください
    433 : Name_Not - 2014/11/30(日) 12:17:37.97 ID:???.net (+62,+30,+0)
    434 : Name_Not - 2014/11/30(日) 17:35:21.12 ID:???.net (-2,-30,-29)
    var a = [];
    console.log(a === []); // false

    何故trueじゃないんですか
    435 : Name_Not - 2014/11/30(日) 17:43:48.22 ID:???.net (+3,-30,-118)
    var a = [];
    console.log([] === []); // false
    console.log(a === a); // true

    []は新規にオブジェクトを作成するから、違うオブジェクト同士を比較してfalseになる
    同じオブジェクトはtrueになる
    言語によっては中身を厳密に比較するのもあるが、JavaScriptはそういう仕様
    436 : Name_Not - 2014/11/30(日) 19:41:37.31 ID:???.net (+54,+26,-6)
    配列が空かどうかは長さで指定するしかないってことですか
    437 : Name_Not - 2014/11/30(日) 19:50:39.95 ID:???.net (+46,+28,+0)
    そうですね
    438 : Name_Not - 2014/11/30(日) 20:00:09.15 ID:???.net (+3,-30,-124)
    そうですね。じゃねーだろw

    オブジェクトではなく、オブジェクトの中身で
    比較する方法ぐらい教えられんのか

    例えば、lodashという有名な汎用ライブラリには
    そのためのメソッドが有る

    http://lodash.com/docs#isEqual
    var object = { 'name': 'fred' };
    var copy = { 'name': 'fred' };

    object == copy;
    // → false

    _.isEqual(object, copy);
    // → true
    439 : Name_Not - 2014/11/30(日) 20:07:27.45 ID:???.net (+57,+29,-8)
    中身を比較する方法なんて誰も聞いてないだろ
    440 : Name_Not - 2014/11/30(日) 20:17:13.75 ID:???.net (+57,+29,-33)
    配列が空かどうかを調べるには、
    空の配列と中身を比較するって
    方法もあるのですよ。
    441 : Name_Not - 2014/11/30(日) 20:25:10.43 ID:???.net (+51,+16,-17)
    lodash使うやつはこんな方法を平気で勧めるんだな
    442 : Name_Not - 2014/11/30(日) 20:30:49.38 ID:???.net (+9,-30,-40)
    >>441
    空かどうかだけを見たいならisEmptyっていうのもあるよ

    http://lodash.com/docs#isEmpty

    _.isEmpty([1, 2, 3]);
    // → false

    _.isEmpty({});
    // → true

    _.isEmpty('');
    // → true
    443 : Name_Not - 2014/11/30(日) 22:30:30.24 ID:???.net (+23,-30,-19)
    a = [
    [1,1,1],
    [1,1,1],
    ]

    縦2
    横3

    これを
    a = [[1] * 3] * 2
    みたいな感じで作る方法ありませんか
    445 : Name_Not - 2014/11/30(日) 22:52:45.95 ID:???.net (-1,-29,-30)
    >>443
    *3 の方は、値をそのまま配列要素に代入していく操作になるが
    *2 の方は、配列値を複製する操作も追加で必要になるだろう
    446 : Name_Not - 2014/11/30(日) 23:01:31.01 ID:???.net (+37,+10,+0)
    >>443
    ない
    447 : Name_Not - 2014/12/01(月) 08:40:19.47 ID:???.net (+0,-27,-2)
    n次元配列を作る関数を自作して引数で指定だね
    448 : Name_Not - 2014/12/01(月) 13:26:06.17 ID:???.net (-1,-29,-7)
    textContentとinnerTextはどっち使えばいいのかおしえて
    449 : Name_Not - 2014/12/01(月) 13:48:59.26 ID:???.net (-1,-29,-67)
    W3Cのお墨付きのtextContent の方だろうな。

    まあブラウザごとの挙動を少しでも合わせたいならjQueryのtextのような
    ライブラリのメソッドを使う事だろう
    450 : Name_Not - 2014/12/01(月) 15:02:14.84 ID:???.net (+53,+14,-5)
    ライブラリ使うまでもなくinで判定すればいいだけじゃん
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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