1つの配列から1つずつずれた2次元配列を作る

1つの配列から要素を1つずつずらした多次元配列の作り方。

var _array:Array = [1, 2, 3, 4];
var _allArray:Array = new Array();
var _length:int = _array.length;

for (var i:int = 0; i < _length; i++ ) { var a:Array = new Array(); _allArray[i] = a; for (var j:int = 0; j < _length; j++ ) { a[j] = _array[j]; }; if (i != 0) { for (var k:int = 0; k < i; k++ ) { var n:Number = _allArray[i].pop(); _allArray[i].unshift(n); } } } [/as3] 出力結果は以下のようになります(見難いので改行してます)。 [as3] 1,2,3,4, 4,1,2,3, 3,4,1,2, 2,3,4,1 [/as3] 配列を1つずつ2次元配列に追加して、pop()で配列の末尾を削除、unshift()で先頭に追加。1個目はそのまま、2個目だったら1回、3個目だったら2回削除&追加を繰り返す。 出現の順番を変えたい時とかに使えると想ったんだけど、もっといいやり方がありそう。そもそもこんなことやる意味ないかも。