ホームページ  >  記事  >  ウェブフロントエンド  >  PHP のシャッフル配列関数 shuffle の実装 (JavaScript_javascript スキル)

PHP のシャッフル配列関数 shuffle の実装 (JavaScript_javascript スキル)

WBOY
WBOYオリジナル
2016-05-16 16:34:121274ブラウズ

PHP には配列をシャッフルするための非常に便利な関数 shuffle() がありますが、この関数は JavaScript の配列にはありません。自分で拡張すれば、食料と衣服は十分にあります。

ランダム並べ替えの効果を確認するには、ページを更新してください。

コードをコピーします コードは次のとおりです:

<スクリプトタイプ="text/javascript">
// // 説明: shuffle メソッドを Javascript 配列に追加します

var shuffle = function(v){
for(var j, x, i = v.length; i; j = parseInt(Math.random() * i), x = v[--i], v[i] = v[j], v[j ] = x);
v を返します;
};

var a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];

document.write("A = ", a.join(","), "
shuffle(A) = ", shuffle(a));

//]]>

出力結果:

コードをコピーします コードは次のとおりです:

A = 0,1,2,3,4,5,6,7,8,9

シャッフル(A) = 1,5,0,9,2,3,6,8,4,7
A.shuffle() = 0,4,2,8,5,1,3,6,9,7

プロトタイプを使用して配列にメソッドを追加します:

コードをコピーします コードは次のとおりです:

<スクリプトタイプ="text/javascript">
//
var a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];

if (!Array.prototype.shuffle) {
Array.prototype.shuffle = function() {
for(var j, x, i = this.length; i; j = parseInt(Math.random() * i), x = this[--i], this[i] = this[j], this[j ] = x);
これを返します;
};
}

document.write("A = ", a.join(","), "
A.shuffle() = ", a.shuffle());

//]]>

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。