Version: 2017.3 (switch to 2017.4)
LanguageEnglish
  • C#
  • JS

Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

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

Submission failed

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

Close

Cancel

Description

Arrays allow you to store multiple objects in a single variable.

The Array class is only available in Javascript.

Here is a basic example of what you can do with an array class:

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); } }
//The Array class is only available in Javascript.

There are two types of arrays in Unity, builtin arrays and normal Javascript Arrays. Builtin arrays (native .NET arrays), are extremely fast and efficient but they can not be resized.

They are statically typed which allows them to be edited in the inspector. Here is a basic example of how you can use builtin arrays:

// 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; }
// example c# script showing how
// an array can be implemented.
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { // Exposes an float array in the inspector, which you can edit there. public float[] values; void Start() { foreach (float 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.0F; } }

Builtin arrays are useful in performance critical code (With Unity's javascript and builtin arrays you could easily process 2 million vertices using the mesh interface in one second.)

Normal Javascript Arrays on the other hand can be resized, sorted and can do all other operations you would expect from an array class. Javascript Arrays do not show up in the inspector. Note: You can easily convert between Javascript Arrays and builtin arrays.

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); }
//The Array class is only available in Javascript.

Note that Array functions are upper case following Unity's naming convention. As a convenience for javascript users, Unity also accepts lower case functions for the array class.

Note: Unity doesn't support serialization of a List of Lists, nor an Array of Arrays.

Properties

lengthThe length property of the array that returns or sets the number of elements in array.

Constructors

ArrayCreates an Array of a fixed size.

Public Methods

AddAdds value to the end of the array.
ClearEmpties the array. The length of the array will be zero.
ConcatConcat joins two or more arrays.
JoinJoins the contents of an array into one string.
PopRemoves the last element of the array and returns it.
PushAdds value to the end of the array.
RemoveAtRemoves the element at index from the array.
ShiftRemoves the first element of the array and returns it.
SortSorts all Array elements.
UnshiftUnshift adds one or more elements to the beginning of an array and returns the new length of the array.
对文档有任何疑问,请移步至开发者社区提问,我们将尽快为您解答