元スレ+ JavaScript の質問用スレッド vol.143 +
JavaScript覧 / PC版 /みんなの評価 :
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 = :
※念の為に言っておくが、他のスレが出来たら
両方のスレに行くだけです。つまり俺のスレが増える。
みんなの評価 :
類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.141 + (881) - [97%] - 2021/4/19 9:00
- + JavaScript の質問用スレッド vol.133 + (1001) - [97%] - 2018/6/8 10:45
- + JavaScript の質問用スレッド vol.103 + (1001) - [97%] - 2012/11/9 15:30
- + JavaScript の質問用スレッド vol.142 + (984) - [97%] - 2020/8/27 19:15
- + JavaScript の質問用スレッド vol.113 + (1001) - [97%] - 2014/3/15 21:30
- + JavaScript の質問用スレッド vol.123 + (966) - [97%] - 2020/10/20 2:30
- + JavaScript の質問用スレッド vol.123 + (1002) - [97%] - 2015/4/27 23:30
- + JavaScript の質問用スレッド vol.113 + (1001) - [97%] - 2014/1/25 12:46
- + JavaScript の質問用スレッド vol.140 + (1001) - [97%] - 2019/9/19 10:45
- + JavaScript の質問用スレッド vol.142 + (926) - [97%] - 2019/12/23 13:15
- + JavaScript の質問用スレッド vol.141 + (1001) - [97%] - 2019/9/22 23:15
- + JavaScript の質問用スレッド vol.144 + (288) - [97%] - 2020/5/17 20:00
- + JavaScript の質問用スレッド vol.122 + (116) - [95%] - 2018/5/2 18:30
- + JavaScript の質問用スレッド vol.122 + (1004) - [95%] - 2015/2/14 4:45
- + JavaScript の質問用スレッド vol.121 + (1001) - [95%] - 2015/1/1 18:30
- + JavaScript の質問用スレッド vol.121 + (1001) - [95%] - 2022/11/29 16:30
- + JavaScript の質問用スレッド vol.120 + (1002) - [95%] - 2014/11/8 1:15
トップメニューへ / →のくす牧場書庫について