0

次のリストがあると思います:

20 22 24

3 つの要素をランダムに並べ替えて、22、20、24、または 24,20,22 のようなものを取得するにはどうすればよいですか?

乱数を生成できることは知っていますが、私はそれを探していないと思いますか?

4

2 に答える 2

3

たとえば、シャッフルアルゴリズムを実装する必要があります

var arr = [20, 22, 24];

function shuffleArray(a) { // Fisher-Yates shuffle, no side effects
    if(a.length === 0) return a;
    var i = a.length, t, j;
    a = a.slice();
    while (--i) t = a[i], a[i] = a[j = ~~(Math.random() * (i+1))], a[j] = t;
    return a;
}

shuffleArray(arr); // [22, 24, 20]
shuffleArray(arr); // [22, 20, 24]
shuffleArray(arr); // [24, 22, 20]
于 2013-06-14T22:39:39.183 に答える