1

画像の配列があるとしましょう。今、私は常に同じ順序を持ちたいと思っていますが、開始位置は異なります。Backstretch でインデックスを強制することはできますが、最初のイメージが既に起動される前ではありません。そのため、当然、配列をオフセットしたいと思います。

['1','2','3','4']

確率変数に応じて、なるはずです

['3','4','1','2'].

どうすればこれを達成できますか?

4

2 に答える 2

1

TJ Crowdersの回答は素晴らしいですが、注文を維持する場合、ここに私の2セントがあります

var arr = ['1', '2', '3', '4']; //your source array

var rand = Math.round(Math.random()*arr.length); //get the random
var part = arr.splice(0, rand); //split from start to that number
arr = arr.concat(part); //concat back to push the part to the end for the order to be preserved.
//get your item arr[0]

フィドル

于 2013-06-09T22:47:53.250 に答える
0

ランダムに生成された n 数だけ要素をシフトする関数を作成できます。

http://jsfiddle.net/Nghns/

function randShiftArr(arr) {
    var rand = Math.floor(Math.random() * arr.length);
    for (var i = 0; i < rand; i++)
        arr.unshift(arr.pop())
    return arr;
}

var arr = ['1', '2', '3', '4'];
var shifted = randShiftArr(arr);
alert(shifted.join());
于 2013-06-09T22:51:51.657 に答える