javascriptで配列をシャッフルするときに問題があります。 多次元配列はその行を2回シャッフルし、結果はEXACTと同じです。 私は同じ数字が欲しくないが、私は別のシャッフルされた結果が欲しい。シャッフル多次元配列がjavascriptに組み込まれる
function shuffle(array) {
for (var i = array.length - 1; i > 0; i--) {
var j = Math.floor(Math.random() * (i + 1));
var temp = array[i];
array[i] = array[j];
array[j] = temp;
}
return array;}
それはちょうど配列の値をランダム化さ:シャッフル機能がある
this.pairs = [
[0, 1, 2, 3]
];
this.shuffled = [
[shuffle(this.pairs[0])],
[shuffle(this.pairs[0])]
];
console.log(this.shuffled);
。
シャッフル([0,1,2,3])を試してみると、同じ関数を2回呼び出すだけで動作します。 しかしシャッフルを書くとき(this.pairs [0]);私はそれを何回呼び出しても、まったく同じ値を返します。どんな助け?
更新 私はさまざまな変数にそれらを追加するように勧めましたが、まだ動作しません。
this.pairs = [
[0, 1],
[0, 1]
];
var level1 = this.pairs[0];
var level2 = this.pairs[0];
this.shuffled = [
shuffle(level1),
shuffle(level2)
];
console.log(this.shuffled);
同じこのために行く:
this.pairs = [
[0, 1],
[0, 1]
];
var level1 = shuffle(this.pairs[0]);
var level2 = shuffle(this.pairs[0]);
this.shuffled = [
level1,
level2
];
console.log(this.shuffled);