JavaScript を自ら学ぶ人のための質問スレッドです。
>>2-4のテンプレを読んだ上で質問してください。
■質問を書く上で
(1) 煽り、コード制作依頼等、人を不快にさせる投稿はご遠慮下さい。公序良俗を守った応対を心がけてください。
(2) 他の人に迷惑をかけるスクリプトの質問はご遠慮ください。
(ブラクラ、[戻る], [閉じる], [クリック] の妨害、画面占有など)
(3) 質問者及び議論を行う人はメール欄を空欄にし、名前にレス番を入れることを強く推奨します。回答者はなりすましを判断できませんので、なりすましが現れても自己責任となります。
(4) 常に自発的に調べる心構えを持ってください。
具体的には「自分で調べてから質問する」「回答をもらってわからない単語があればGoogle検索してみる」など。
わからない内容を代わりに調べてくれる回答者をお望みの方は余所で質問してください。
(5) 出来るだけ一般的な用語を使用してください。脳内オレオレ用語は混乱の元です。
(6) 出来るだけサンプルコードを掲示してください。言葉による説明は行き違いが生まれる場合があります。
※必ず「問題の事象が再現されること」を確認してください。
必要な部分だけ切り出したつもりで現象が再現できていなかったケアレスミスがしばしば見られます。
(7) サンプルコードに HTML が含まれる場合は http://validator.w3.org/ で [Check] してみてください。
(8) 質問を具体的かつ詳細に書くと回答を得られやすいです。>>2の質問テンプレートを活用してみてください。
(9) 時にはあなたが望む「答え」だけでなく、「意見」などが寄せられる場合もあります。
+ JavaScript の質問用スレッド vol.123 +
http://peace.2ch.net/test/read.cgi/hp/1423915644/
(ライブラリ禁止条項は、多数の意見によって廃止されました。ライブラリの質問もOKです)
探検
+ JavaScript の質問用スレッド vol.124 + [転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2015/03/22(日) 16:19:45.75ID:nW67tQ7U
541デフォルトの名無しさん
2017/12/24(日) 15:07:00.78ID:UCQX5tUj542デフォルトの名無しさん
2017/12/24(日) 15:41:38.56ID:A3ERayLu >>540
意味がわからないのは、そのコードの可読性が低いから、
だめだよ。そんな書き方をしたら
普通に書こう。前提として for(ここ; ここ; ここ) の「ここ」の部分は省略できる
まず、一番目の「ここ」は初期化なのだから forの外に移動できる
Array.prototype.shuffle = function() {
var j, x, k = this.length;
for(; k; j = Math.floor(Math.random() * k), x = this[--k], this[k] = this[j], this[j] = x);
return this;
};
そして、3番目の「ここ」はループの中に入れることができる
Array.prototype.shuffle = function() {
var j, x, k = this.length;
for(; k;) {
j = Math.floor(Math.random() * k), x = this[--k], this[k] = this[j], this[j] = x
}
return this;
};
意味がわからないのは、そのコードの可読性が低いから、
だめだよ。そんな書き方をしたら
普通に書こう。前提として for(ここ; ここ; ここ) の「ここ」の部分は省略できる
まず、一番目の「ここ」は初期化なのだから forの外に移動できる
Array.prototype.shuffle = function() {
var j, x, k = this.length;
for(; k; j = Math.floor(Math.random() * k), x = this[--k], this[k] = this[j], this[j] = x);
return this;
};
そして、3番目の「ここ」はループの中に入れることができる
Array.prototype.shuffle = function() {
var j, x, k = this.length;
for(; k;) {
j = Math.floor(Math.random() * k), x = this[--k], this[k] = this[j], this[j] = x
}
return this;
};
543デフォルトの名無しさん
2017/12/24(日) 15:45:14.80ID:A3ERayLu あとは整形しよう
Array.prototype.shuffle = function() {
var j, x, k = this.length;
for(; k;) {
j = Math.floor(Math.random() * k);
x = this[--k];
this[k] = this[j];
this[j] = x;
}
return this;
};
そしてforではなくwhile使ったりと普通の書き方に書き直す
Array.prototype.shuffle = function() {
var k = this.length;
while(k) {
var j = Math.floor(Math.random() * k);
k--;
var x = this[k];
this[k] = this[j];
this[j] = x;
}
return this;
};
Array.prototype.shuffle = function() {
var j, x, k = this.length;
for(; k;) {
j = Math.floor(Math.random() * k);
x = this[--k];
this[k] = this[j];
this[j] = x;
}
return this;
};
そしてforではなくwhile使ったりと普通の書き方に書き直す
Array.prototype.shuffle = function() {
var k = this.length;
while(k) {
var j = Math.floor(Math.random() * k);
k--;
var x = this[k];
this[k] = this[j];
this[j] = x;
}
return this;
};
544デフォルトの名無しさん
2017/12/24(日) 16:00:39.17ID:A3ERayLu ES6使った最新の書き方だとこうなるかな
Array.prototype.shuffle = function() {
for (let i = this.length; i > 0; i--) {
const a = i - 1;
const b = Math.floor(Math.random() * i);
[this[a], this[b]] = [this[b], this[a]];
}
return this;
};
console.log([0,1,2,3,4,5,6,7,8,9].shuffle());
そしてlodashにはshuffle関数は用意されてるので何も作る必要はないw
https://lodash.com/docs/4.17.4#shuffle
Array.prototype.shuffle = function() {
for (let i = this.length; i > 0; i--) {
const a = i - 1;
const b = Math.floor(Math.random() * i);
[this[a], this[b]] = [this[b], this[a]];
}
return this;
};
console.log([0,1,2,3,4,5,6,7,8,9].shuffle());
そしてlodashにはshuffle関数は用意されてるので何も作る必要はないw
https://lodash.com/docs/4.17.4#shuffle
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… [BFU★]
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… ★2 [BFU★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★2 [BFU★]
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 [Hitzeschleier★]
- 政府、株式の配当など金融所得を高齢者の医療保険料や窓口負担に反映する方針を固めた [バイト歴50年★]
- 【維新】吉村知事「中国人観光客だけに頼るビジネスモデル変えていかないといけない」「高市総理の発言は撤回する必要はない」 [Hitzeschleier★]
- 中国高官と話す外務省局長の表情、やばい ★2 [175344491]
- 中国高官と話す外務省局長の表情、やばい [175344491]
- 港区、中国に宣戦布告 中国外務省をおちょくる掲示物を展示 [175344491]
- 【ほんこん悲報】吉本新喜劇の中国公演が中止に! [523957489]
- 中国外務省「日中関係の悪化は高市早苗首相が原因」と名指しで強く非難。キタ━(゚∀゚)━! [153490809]
- 小野田経済安保相「すぐに経済的威圧するところへの依存はリスク」😲 [861717324]
