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

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

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

    451 = :

    jQueryなら教えるけど

    454 = :

    jQuery が含むものは、
    1. Ajax
    2. 各ブラウザ互換性のPolyfill
    3. CSS・セレクターなどを便利に拡張したもの
    4. 便利で汎用的な関数

    これらを各々、分離してもよいとは思う。
    多くの人が使いたいのは、2, 3

    1はaxios、4はLodash へ分離できる

    456 = :

    >>445
    の続き

    cards の中身をシャッフルしたいのなら、Lodash のshuffle を使う

    let new_cards = _.shuffle( cards );

    console.log( cards.map( x => x.number ) ) // シャッフル前
    console.log( new_cards.map( x => x.number ) ) // シャッフル後

    457 = :

    >>454
    > 1はaxios、4はLodash へ分離できる

    axiosは初見だが、「Supports the Promise API」が目的なら、Fetch APIで十分な気がした
    http://github.com/axios/axios/blob/master/README.md
    http://developer.mozilla.org/ja/docs/Web/API/Fetch_API

    459 = :

    さすがに、配列内の要素のシャッフルを、自作する人は、いないでしょ

    ライブラリを使わないと無理

    460 = :

    >>454

    > jQuery が含むものは、
    > 1. Ajax
    すでに分離されている。

    > 2. 各ブラウザ互換性のPolyfill
    もとからjQueryはPolyfillを提供していない。
    どのブラウザでも動く機能のみを使ってるだけ

    > 3. CSS・セレクターなどを便利に拡張したもの
    分離されてる。Sizzle。使いたければ単体で使える。
    jQueryはSizzleを前提としてるから取り除くことはできない。

    > 4. 便利で汎用的な関数
    それはjQueryが自身が内部で使うために作られたもの
    便利だからAPIとして提供しているが取り除くことはできないし
    jQueryにとって意味がないものは実装されていない。
    便利で汎用的な関数を充実させるプロジェクトではない

    461 = :

    > どのブラウザでも動く機能のみを使ってるだけ

    いいえ。たとえばquerySelector(All)を使えるときはそちらを使うようになっています。この時querySelectorが使えないブラウザの場合はsizzleが使われます。

    463 = :

    >>460
    jQuery のソースコード内には、大量のPolyfill が書いてある!

    Support: Android <=2.3 only
    Support: Android<4.0
    Support: Android <=4.0 only
    Support: Android <=4.0 only, PhantomJS 1 only

    Support: IE, Opera, Webkit

    Support: IE6-11+
    Support: IE <=8
    Support: IE<9
    Support: IE 9 - 10 only
    Support: IE 9-11, Edge
    Support: IE <=9 - 11, Edge 12 - 13
    Support: IE 11, Edge

    Support: real iOS 8.2 only

    Support: Firefox<24

    465 = :

    Polyfillっていうのは特定のブラウザにないAPIを
    JavaScriptを使って互換APIを実装することだからな
    Polyfillが使われるとブラウザが持ってるAPIが変化してしまう。
    本来ないはずのAPIが何故かできてしまう。

    自分でPolyfillライブラリを使って意識的にやってるならいいが
    jQueryが勝手にブラウザの足りない機能を埋めてたりすると
    余計なことすんなって言われる。だからそんなことはやらない。

    jQueryはブラウザの標準機能を変えたりしない
    似たようなことをして互換性問題を起こしたのがPrototype
    その反省から生まれたjQueryはPolyfillを提供しない

    466 = :

    >>459
    大した手間でもなくない?
    数行出し
    ライブラリができる前から手で書いてたから
    あんまり気にならんなあ

    467 = :

    まあMath.random()で出た順番に入れ替えるだけ
    みたいな簡単なやつならそうだわな
    ポンコツの俺でも出来る

    468 = :

    初心者すぎて恐る恐るお尋ねします

    【環境】Windws10、Firefox74 共に64bit版
    下のコードをnewWin10、10.htmlまで繰り返したいのですが、

    function openWin(){
     newWin01 = window.open("hoge/01.html","newWin01","width=100,height=100");
     newWin01.focus();
    }

    469 = :

    途中送信失礼しました

    forで( var i = 01; i < 11; i++ )と書いた場合
    01の0はそもそも返ってくるのか
    iの値を記述の中にくっつけるにはどう書いたらよいのか不明でこちらに来てみました
    ご教示いただければ幸いです

    470 = :

    そもそもその i 使ってなくね?
    俺の愛は使う相手がいないが…

    471 = :

    >>469
    数値リテラルつって、数字の書き方みたいなもんなんだが
    01と書くと、それは8進数になる
    まあ1だから十進数になおしても1なんだけど

    472 = :

    >>469
    ('' + i).padStart(2, '0')

    473 = :

    連続でopenはブラウザで制限されてるだろどうせ

    474 = :

    ブラクラやな

    475 = :

    NAOシフト「著作権侵害です!」

    476 = :

    >>471
    ありがとうございます

    477 = :

    >>459
    定番のFisher–Yates shuffleは自作したが、別段難しくなかった

    478 = :

    >>477
    その自作というのはどのレベル?

    ・なにもない所から自分で考え出した
    ・解説、数式から自分でコードを起こした
    ・すでにある他の言語のコードをJavaScriptに翻訳した
    ・すでにあるJavaScriptのコードを自分なりのコードで書き直した
    ・関数をコピーした

    どれも自作だけど、レベルがぜんぜん違うよね

    479 = :

    言語から自作してろ

    480 = :

    フィッシャーイェーツは
    わりとみんなたどり着きやすいやり方じゃね?
    一個ずつランダムに取り出すって

    481 = :

    >>478
    > ・なにもない所から自分で考え出した

    Fisher–Yates shuffleと書いてるのに、なぜこの選択肢が出てくる?

    > ・解説、数式から自分でコードを起こした

    公式サイトにあるアルゴリズムをコードに起こしただけだから、これ
    アルゴリズムからコード化はプログラマなら基本だろう?

    482 = :

    トランプランダムに並べろって言われたら
    よく切って1枚置く、よく切って1枚置く…ってやるだろ普通
    FYシャッフルてのはそれくらいありがちだ

    483 = :

    >>481
    アルゴリズムからコードを起こしたってことは
    言語を置き換えたってことだよね?

    それとも元のアルゴリズムにコードレベルのものはなかった?
    それちゃんとテストした?バグがないことをどうやって証明してる?

    484 = :

    それが質問かな?
    じゃあJS固有の話じゃないからよそでやってね。
    ひとりで寂しいからってここで話し相手募るなジジイ。

    485 = :

    >>459
    randamな位置の要素を取り出してくだけでいいじゃん

    486 = :

    >>483
    > アルゴリズムからコードを起こしたってことは
    > 言語を置き換えたってことだよね?

    関数一つ定義しただけで言語が書き換わるわけないだろ
    ここまで頭が悪い奴とは思わなかった

    > それとも元のアルゴリズムにコードレベルのものはなかった?

    文章しかなかった

    > それちゃんとテストした?バグがないことをどうやって証明してる?

    テストした

    487 = :

    自作するぐらいなら、Lodash などの多くで使われている、ライブラリを使う

    自作は、テストが大変だし、
    汎用的なものはできるだけ、ライブラリで済ませたい

    webpack で、Lodashの個別の関数だけを読み込めるし、サイズも大したことないから

    488 = :

    そうやって人の作った物使うだけだと
    いつまで経っても自分で何か作ることなんて出来ないよお?

    489 = :

    >>483
    > 言語を置き換えたってことだよね?

    何その謎論理
    アルゴリズムをなんだと思ってるの?

    490 = :

    Fisher–Yatesって制御構造の練習問題として使われてもおかしくないぐらいに単純じゃん
    よく題材になるソートアルゴリズムよりも簡単

    Fisher–Yatesすら実装出来ないレベルなら、「僕は日本語で説明されてもコードを書けないので、コピペコードをください」っていってるようなもの

    491 :

    >>478
    >・なにもない所から自分で考え出した

    むしろそうでない方が優秀なんじゃね?
    ふっつーのボンクラ初心者が頭ひねって考えて
    最初に出てくるのはFY法だろう
    少なくとも俺はそうだったわ

    492 = :

    >>491
    自分で考えてFY法に辿り着いたなら、君は十分優秀だよ

    493 = 491 :

    >>492
    えええええ
    これより簡単に思いつくのってどんなの?

    495 = :

    >>493
    世の中には>>459>>483のような、無理と諦めて考えることを放棄する人間がいるのだよ

    496 = :

    ID有りのスレにしない?
    自演っぽいのばっかじゃん

    497 = :

    もう今まで何十回もスレが分岐したから
    それで淘汰されて残ったのがID無しのスレだから
    歴史を繰り返すな

    499 = :

    >>496
    自分が移動するのは簡単だが、他人を動かすのは難しい
    頑張れ

    + JavaScript の質問用スレッド vol.123 + [無断転載禁止]©2ch.net
    http://mevius.5ch.net/test/read.cgi/tech/1491143438/

    500 = :

    ※念の為に言っておくが、他のスレが出来たら
    両方のスレに行くだけです。つまり俺のスレが増える。


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

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


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