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

私的良スレ書庫

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

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

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
551 : Name_Not - 2019/06/19(水) 21:10:44.47 ID:???.net (+32,+29,-122)
>>549
> その意味では lodash はアリ、なのか
そんなもん場合によるとしか言えんだろうな

> 大昔に INT(RND(1)*6)+1 とか山ほど見てたからな…。
このような主観からもわかるように、
山ほど見てきたから = じゃあ山ほど見てない場合はどうなんだ?って話

山ほど見てきた人が、この書き方を知らないわけがないので、
山ほど見てない人というのは確定

その人にlodashを使う回答をするのはありだし、それみて、その人が便利だと思ったのだから
lodashを使った回答をした意味があったということ
552 : Name_Not - 2019/06/19(水) 21:23:31.67 ID:???.net (+27,+29,-25)
山程見てなくても
これくらいは見てすぐ理解できるくらいの人を雇いたいなあ
現場では
553 : Name_Not - 2019/06/19(水) 22:34:37.65 ID:???.net (-26,-29,-2)
多くの場合 Date.now()%6+1 で良い件
554 : Name_Not - 2019/06/19(水) 22:40:14.90 ID:???.net (-16,-14,-20)
+ や |0 は熟練者なら大概知ってる
初心者をターゲットにするなら、勿論、使うべきではない
555 : Name_Not - 2019/06/19(水) 22:42:08.93 ID:???0.net (-20,+29,-12)
たった数行の処理に名前付けるだけでオレオレライブラリなんて言われたら
最早何もできん
556 : Name_Not - 2019/06/19(水) 22:45:31.45 ID:???.net (+24,+29,-6)
>>553
可読性警察だ! 神妙にせよ!
557 : Name_Not - 2019/06/19(水) 22:50:06.15 ID:???.net (-29,-30,-102)
よっしゃ!サイズ10の乱数の配列作ったろ!

Array.from({length:10},()=>Date.now()%6+1);
//=> [4, 4, 4, 4, 4, 4, 4, 4, 4, 4]

あ、あれ?

一方…
Array.from({length:10},()=>(Math.random()*6|0)+1);
//=> [4, 2, 5, 2, 4, 2, 5, 2, 6, 6]
558 : Name_Not - 2019/06/20(木) 01:14:30.56 ID:???.net (-27,-30,-70)
普通はこう。
a = Math.floor( Math.random( ) * 6 ); //=> 0~5
a + 1; //=> 1~6

「浮動小数点数 | 0」

これをよく見るけど、可読性も悪いし、
どういう意図なのか、わからないから、考え込まされる

書いた人の仕様(答え)は、読む人にはわからないから、
考えてもあくまで推測だから、正解とは言えない!

最初から答えがあるのだから、推測する時間が無駄!
560 : Name_Not - 2019/06/20(木) 01:48:42.11 ID:???.net (-26,-29,-88)
Math.floorも|0も可読性はたいして変わらんよ
_.random(1, 6)ならわかりやすい?
lodashのドキュメントなり読まなきゃ意味は分からんだろ

可読性いうなら、コードはどれでもいいからコメントつけろよ
561 : Name_Not - 2019/06/20(木) 02:39:41.93 ID:???.net (+27,+29,-49)
まあアンダースコア始まりの関数なら
アンダースコアかローダッシュだなってのはなんとなくわかるからいいでしょ
そんなに珍しいもんでもないし
関数名と前後のコードでだいたいわかるし
562 : Name_Not - 2019/06/20(木) 05:57:21.72 ID:???.net (+31,+28,-73)
> 可読性いうなら、コードはどれでもいいからコメントつけろよ
コードの可読性が悪いからコメントが必要になる。

コードとコメントの二箇所に同じことが書かれてるのはdryではないし
コメントがコードの内容を正しく示しているかレビューする必要がある
563 : Name_Not - 2019/06/20(木) 06:00:02.00 ID:???.net (+32,+29,-90)
> lodashのドキュメントなり読まなきゃ意味は分からんだろ

読まなきゃ意味がわからない = 読めば意味がわかる

オレオレライブラリだと覚えた所で他のプロジェクトで知識を
再利用できる可能性は低く、覚えても無駄になるが
有名なものであれば、知識を再利用できる
566 : Name_Not - 2019/06/20(木) 08:27:57.86 ID:???.net (-29,-29,-143)
このサイコロの目の6つが一定の回数の結果、最もバランスよく出るのが優れた正解ということになるのですかね?
習った先生の話だと、Math.floor(Math.random()*6+1)は比較的、6が出にくいだったか、出やすいだったか…と言ってた気がするのですよね。
まだ、習った範囲だとfor文とかで1000回とか、サイコロの結果を出す事までしか頭が回らないのですが、
きっと「1~6までの数字を1000回出した結果、どの数字が何回出たか?」みたいのを出力する方法がありますよね
for文で1000回振って、ifで仕分けするみたいな感じですかね
568 : Name_Not - 2019/06/20(木) 09:38:14.69 ID:???.net (-9,-7,-4)
サイコロなんだから回数なんか配列でインクリメントすればいいだけ
570 : Name_Not - 2019/06/20(木) 09:53:47.00 ID:???.net (-27,-30,-89)
const counts = [...new Array(7)].fill(0);
for (let i = 0; i < 100000; ++i) {
counts[Math.floor(Math.random() * 6 + 1)]++;
}
console.log(counts); // [0, 16571, 16727, 16748, 16686, 16448, 16820]

まあ、普通は配列でやるよね
571 : Name_Not - 2019/06/20(木) 12:40:45.89 ID:???.net (+10,+27,-61)
>>565
cryptoの方は暗号学的な一定レベルの保証がある
Mathの方は実装者の考え方次第で下限が無い
どの程度の乱数か予想することもできないので程度という言葉は使えない
その辺りがどうでもいいと言うときだけMathの方を使う
572 : Name_Not - 2019/06/20(木) 16:40:15.66 ID:???.net (+27,+29,-15)
サイコロに関しては商業ゲーでもやらかした例がいくつかあるから侮れんよな
582 : Name_Not - 2019/06/21(金) 11:02:48.23 ID:???.net (+27,+29,-25)
Numberは倍精度浮動小数点なんだから、別にdoubleでもいいじゃん
つーか、その程度の突込みの為にわざわざ仕様だらだらコピペするなよ
583 : Name_Not - 2019/06/21(金) 12:21:03.55 ID:???.net (+4,+11,-1)
マウント取りたいんだろ
584 : Name_Not - 2019/06/21(金) 19:14:28.40 ID:???.net (+17,+29,-18)
>>580
趣旨は「仕様を参照」なんだが
初めから仕様を出してくれたなら、何もいわなかった
585 : Name_Not - 2019/06/21(金) 21:40:30.71 ID:???.net (+32,+29,-114)
間もなくES2019(ES10)が勧告されるってときにES6の仕様をリンク紹介してるやつ何なの?
もう丸4年も経ってるってことにそろそろ気付こうや
きっと中身があんまり変わってないと思ってるんだろうけど
特にここ2年くらいで冗長さを減らして読みやすくする試みがされてきてるから
ES6の仕様書にリンクする価値は全く無い

リンクする時は未来永劫残したい時は最新版、書き捨てで良い時はLS版
586 : Name_Not - 2019/06/21(金) 21:44:05.17 ID:???.net (-29,-27,-3)
ES6→10?
次の次の勧告いつになるんだろうね
587 : Name_Not - 2019/06/21(金) 21:54:17.61 ID:???.net (+22,+29,-5)
毎年あっただろ忘れたのか
591 : Name_Not - 2019/06/22(土) 12:59:17.77 ID:???.net (+12,+24,-2)
>>581で言うintegerは整数という意味で型とは関係ないのにね
592 : Name_Not - 2019/06/22(土) 14:40:31.00 ID:???.net (+24,+26,-14)
我が名はインフィニティ、無限のメモリーなり。
595 : Name_Not - 2019/06/22(土) 17:27:42.09 ID:???.net (+12,+25,+1)
597 : Name_Not - 2019/06/22(土) 18:42:50.39 ID:???.net (-27,-30,-147)
特に制限かかってないサイトで使いたいのであれば
サーバー上にあるものなら普通に絶対URLで指定すればok
ローカルにあるものはDataURIに変換してスクリプトに直に書く

twitter並の制限がかかってるサイトの場合は
DataURIでデータを用意してDataURI to Blob等で検索して出てくる変換かけてURL.createObjectURLでURLを生成

github並にガチガチに制限かかってる場合はTampermonkeyではなくViolentmonkey独自の
@inject-into content
使わないと無理かも
599 : Name_Not - 2019/06/22(土) 19:25:58.80 ID:???.net (-24,-30,-42)
サーバー側の設定がおかしくなければキャッシュされるはずだけど
そのplaySoundを毎秒呼び出したら毎回appendChildして無駄にメモリ消費し続けるよ
audioElementは外で定義してsetIntervalでやるのはaudioElement.play();だけでいい
600 : Name_Not - 2019/06/22(土) 21:57:04.84 ID:???.net (+29,+29,-33)
1秒ごとに音鳴らしたいなら、再生時間1秒の音声データを
ループ再生させりゃいいだけだろ
なにめんどくさいことやろうとしてんだ
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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