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

ActionScript3.0 — Tags: , — chimanaco @ 12:06 AM このエントリをはてなブックマークに追加

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);
		}
	}
}

出力結果は以下のようになります(見難いので改行してます)。

1,2,3,4,
4,1,2,3,
3,4,1,2,
2,3,4,1

配列を1つずつ2次元配列に追加して、pop()で配列の末尾を削除、unshift()で先頭に追加。1個目はそのまま、2個目だったら1回、3個目だったら2回削除&追加を繰り返す。
出現の順番を変えたい時とかに使えると想ったんだけど、もっといいやり方がありそう。そもそもこんなことやる意味ないかも。

0 Comments »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a comment

Comments links could be nofollow free.

This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.
(c) 2010 chimanaco blog | powered by WordPress with Barecity