言語: 日本語
  • C#
  • JS
  • Boo

スクリプト言語

お好みのスクリプト言語を選択すると、サンプルコードがその言語で表示されます。

Array

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Sumbission failed

For some reason your suggested change could not be submitted. Please try again in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

Description

配列によりひとつの変数に複数のオブジェクトを格納できます。

Array クラスは Javascript でのみ利用可能です。 C# または Javascript での ArrayList, Dictionarie または Hashtable の詳細については ここを参照下さい。 Array クラスで実現できることの基本的なサンプルです:

function Start () {
	var arr = new Array ();

	// Add one element
	arr.Push ("Hello");
	
	// print the first element ("Hello")
	print(arr[0]);

	// Resize the array
	arr.length = 2;
	// Assign "World" to the second element
	arr[1] = "World";
	
	// iterate through the array
	for (var value : String in arr) {
		print(value);
	}
}

Unity には二種類の配列があり、ビルトインの配列と通常の Javascript 配列があります。 ビルトイン配列(ネイティブ .NET 配列)は非常に高速かつ効率的ですがリサイズできません これらは static に型宣言されていて、インスペクタで編集可能です。次にビルトインの配列を使用する基本的なサンプルを示します:

// Exposes an float array in the inspector,
// which you can edit there.
var values : float[];

function Start () {
	// iterate through the array
	for (var value in values) {
		print(value);
	}

	// Since we can't resize builtin arrays
	// we have to recreate the array to resize it
	values = new float[10];

	// assign the second element
	values[1] = 5.0;
}

ビルトイン配列はパフォーマンスが重要なコードでは便利です(Unity の Javascript およびビルトイン配列では mesh interface を使用して秒間200万頂点を容易に処理できます。) 一方で通常の Javascript 配列はリサイズやソートおよび配列クラスで期待する他の全ての操作ができます。 Javascript 配列はインスペクタで表示されません。 Javascript 配列とビルトイン配列どうしで簡単に変換が出来ます。

function Start () {
    var array = new Array (Vector3(0, 0, 0), Vector3(0, 0, 1));
    array.Push(Vector3(0, 0, 2));
    array.Push(Vector3(0, 0, 3));

    // Copy the js array into a builtin array
    var builtinArray : Vector3[] = array.ToBuiltin(Vector3) as Vector3[];
    
    // Assign the builtin array to a js Array
    var newarr = new Array (builtinArray);
    
    // newarr contains the same elements as array
    print (newarr);
}

Unity のネーミングルールにもとづき配列の関数が大文字であることに注意して下さい。 Javascript ユーザにとって便利なことに、配列クラスで Unity は小文字の関数もまた許容します。 注意: Unity は List のリストや Array の配列といったシリアライズはサポートしません。

Variables

length 配列の要素番号をセットするか戻り値とする配列の length プロパティです。

Functions

Add 配列の最終に value を追加します
Clear 配列をクリアします。その際、配列の長さをゼロにします。
Concat 2つ以上の配列を結合します。
Join 配列の要素を一つの文字列に連結します。
Pop 配列の最終要素を取り除き、それを戻り値とします。
Push 配列の最終に value を追加します
RemoveAt 配列の index 番目の要素を取り除きます。
Shift 配列の最初の要素を取り除き、それを戻り値とします。
Sort 全ての配列要素をソートします。
Unshift Unshift によりひとつ以上の要素を配列の最初に追加したうえ、戻り値は追加後の配列の長さとします。