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

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

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

    351 = :

    書いてもいないライブラリやフレームワークが答えの場合だってあるだろ?

    ってか答を知らないから質問する訳で
    答を質問に書くわけがない

    353 = :

    関数へ引数の渡し方が、func(A)、func(B)、func(A, B)、の3種類(のみ)。
    (A, B)の場合は共に実行。

    関数内は、A、Bそれぞれ同じ処理。例えば$('#hoge-' + A).~。
    処理は長いのでif分岐は重複が多すぎ。

    yobidasi(A);
    yobidasi(A, B);

    function func1(arg1, arg2){
    func2(arg1);
    if(arguments.length === 2){func2(arg2)};

    function func2(arg){
    $('#hoge-' + arg).~;
    $('#hage-' + arg).~;
    }
    }

    より簡単な書き方教えてください。

    354 = :

    そもそもfunc(A);func(B);で良くねとは思うけど

    function func(...args) {
    for (let arg of args) {
    // $('#hoge-' + arg).~;
    // $('#hage-' + arg).~;
    }
    }

    356 = :

    >(A, B)をやめろ

    そうなのですが、すると
    yobidasi(A);
    yobidasi(B);
    となり、yobidasiの類は20種類あるので40行になってしまいまして。

    358 = :

    >>354
    forループはオブジェクトのみ推奨って先生が言ってなかったっけ?

    359 = :

    いいんだよ、俺様の世界なんだから

    360 = :

    >>358
    その「先生」は担任の先生って言う意味で素人だろw

    361 = :

    >>360
    google先生だろ
    SEO少しでもかじったのならすぐピンとくる

    362 = :

    >>361
    オマエ馬鹿だろ JavaScriptって知ってるか?

    364 = :

    > forループはオブジェクトのみ推奨って先生が言ってなかったっけ?

    これがSEOと関係があるとでも?
    ないない

    367 = :

    >>356
    >>354でもいいけど、
    とにかく君に一番必要なことは配列を覚えることだな

    370 = :

    >>362が何言いたいのかわからん

    372 = :

    >>367
    配列でもあんま変わらなくね?

    377 = :

    >>373,376
    ありがとうございます!
    一歩先にすすめそうです

    379 = :

    >>378
    そりゃあるだろうけど、それってangularだよな?
    angularのやり方でやれば良いんじゃないの?

    まあ俺はそのやり方を忘れたけどなw
    アレだろ?jsの変数にバインドされてるってやつ

    382 = :

    とれるっていうのならそうなんだろうけどさ
    angularのやり方じゃねーぞ?
    それで良いのか悪いのか知らんけどさ
    普通は正しくないやり方だろうな

    383 = :

    勝手なやり方をしたら、ダメ!
    フレームワークのやり方に従っていないのなら、誤動作を起こす

    Angular を勉強すべし

    384 = :

    >>367
    最初配列でやってたのですがA,値,B,値という形もあり、
    また通しで見てるとABの方がどっち渡してるか一目でわかりやすいので変えました。
    どうもでした。

    388 = :

    var s = '<tag>hoge</tag><tag>poge</tag><tag>fuge</tag>';
    var r = s.match(/\<tag\>(.*?)\<\/tag\>/g);
    console.log(r);
    とすると結果は
    ["<tag>hoge</tag>", "<tag>poge</tag>", "<tag>fuge</tag>"]
    になります
    つまりグループ化した部分を取り出していません
    gスイッチを使った場合はグループ化を使えないのでしょうか?
    こういう場合どうするのがいいのでしょうか?

    389 = :

    スクレイピングなら、Angular なんて関係ない。
    君が、たまたま、Angular製のページを対象にしただけだろ

    JavaScript なら、jQuery は必須

    Ruby で、Nokogiri とか、

    Selenium WebDriver, PhantomJS とか、
    Chromium, Chrome のヘッドレスモードとか

    390 = :

    >>388
    グループ化した部分ってどこ?
    グループ化って何のこと?

    391 = :

    >>388
    jQuery を使え

    $('tag').text();

    392 = :

    >>390
    (.*?)のことです
    正規表現において一般的な用語だと思いますが

    393 = :

    結局、jQuery でも、Ruby のNokogiri でも、
    取得する要素を、CSS セレクターで指定するのは同じ

    上はjQuery、下はNokogiri

    $('tag').text();
    doc.css('tag').text

    xpath で指定するのではなく、CSSセレクターの方が、簡単に指定できる

    394 = :

    正規表現では、データに親子関係のような構造があるものは、うまく取れない

    <tag1><tag2></tag2></tag1>

    このように要素がネストしていると、<tag1></tag2> が対応してしまうから

    jQuery とか、Ruby のNokogiri で、
    取得する要素を、CSS セレクターで指定する

    395 = :

    失礼、(.*?)だけを取り出したいってことか

    gフラグは正規表現全体で配列にする

    ので、こんなのしか思いつかない

    let s = '<tag>hoge</tag><tag>poge</tag><tag>fuge</tag>';
    let regex = /\<tag\>(.*?)\<\/tag\>/;
    let result = [];
    while(s){
    s = s.replace(regex, (...args) => {
    result.push(args[1]);
    return '';
    })
    }
    console.log(result);

    入れ子は考慮せず
    そこまでやると複雑すぎてどうにもならない

    396 = :

    >>395
    while(s)
    じゃなくて、
    while(regex.test(s))
    のほうがいいかも

    DOM(jQueryでもできるはず)で、

    let div = document.createElement('div');
    div.innerHTML = s;
    let elements = div.querySelectorAll('tag');
    // で、各elementsのtextContentを取得

    というのもありかと
    タグの入れ子は考慮せず

    397 = :

    http://qiita.com/honeydaisuki/items/d2a38cef1b95fd347fa4
    これ?
    最短マッチと最長マッチ

    398 = :

    String.matchで正規表現にgオプションをつけるとキャプチャが取れるのかどうかの話で答えは上の通り「取れない」
    RegExp.execを(複数回)使うか正規表現をやめてHTMLパーサを使うかだが正直後者を推奨する


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

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


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