Description
A dynamic array of Variants.
Initialize an Array of 5 elements:
Array myArray = Array(5);
Arrays in FlexSim are 1-based, meaning the first element in the array is accessed via index
1.
double myVal = myArray[1]; // 1st element
myArray[2] = 5; // 2nd element
myArray[4] = 3.2; // 4th element
Since the Array is an array of Variants, you can set each element
to anything that a Variant can hold, namely a number, string, treenode,
or Array.
myArray[2] = "Hello World";
myArray[3] = 5.7;
myArray[4] = Model.find("Source1");
myArray[5] = Array(10); // now you can access myArray[5][2]
You can also fill an array with an initializer list.
Array myArray = [4.5, "Hello World", model(), ["Another", "Array"]];
By default, Arrays are passed around as shared references. This means if you set
one Array variable to another Array variable, you are setting the variable to a
reference to the first Array, not a copy of the first Array. Thus, if you change
either variable's referenced Array data, and it will change it for both variables.
Array array1 = ["Hello", "World"];
Array array2 = array1;
array2[1] = "Goodbye"; // both array1 and array2 are ["Goodbye", "World"]
To do a deep copy of an Array, use the clone() method.
Array array1 = ["Hello", "World"];
Array array2 = array1.clone();
array2 = "Goodbye"; // array2 is ["Goodbye", "World"], array1 is unchanged.
Properties
length |
The number of elements in the array. |
Methods
append |
Appends another array to the end of the array. |
clone |
Creates a copy of the array. |
concat |
Creates a new array by appending another array to the end of the array. |
fill |
Fills the array with a value. |
indexOf |
Searches the array for an element and returns its index. |
join |
Makes a string by concatenating each element. |
pop |
Removes and returns the last element of an array. |
push |
Adds a new element to the end of the array. |
reverse |
Reverses the order of the elements in the array. |
shift |
Removes and returns the first element of an array. |
slice |
Copies part of the array. |
splice |
Adds and/or removes elements from an array. |
unshift |
Adds a new element to the start of the array. |
Constructor
Array |
Creates a new array of the given size. |
Operators
!= |
Compares if the array is not equal to another array. |
[] |
Gets or sets an element. |
== |
Compares the array to another array. |
Details
Do no remove, this fixes the anchor on doc.flexsim.com
int length
Description
The number of elements in the array.
int numElements = myArray.length;
Can also be used to set the size of the array.
Array myArray = [1,2,3,4,5];
myArray.length = 3; // [1,2,3]
Do no remove, this fixes the anchor on doc.flexsim.com
Parameters
otherArray |
The array to append to this array. |
Returns
Array
|
The modified array. |
Description
Appends another array to the end of the array.
Array myArray = [1,2,3,4,5];
myArray.append([7,8,9]); //[1,2,3,4,5,7,8,9]
Do no remove, this fixes the anchor on doc.flexsim.com
Returns
Array
|
A copy of the array. |
Description
Creates a copy of the array.
Array myArray = [1,2,3,4,5];
Array copy = myArray.clone();
myArray.push(6);
// myArray - [1,2,3,4,5,6]
// copy - [1,2,3,4,5]
Do no remove, this fixes the anchor on doc.flexsim.com
Parameters
|
The array to concatenate with this array. |
Returns
Array
|
A new array made by concatenating the arrays. |
Description
Creates a new array by appending another array to the end of the array.
Array concatArray = myArray.concat([7,8,9]);
// myArray - [1,2,3,4,5]
// concatArray - [1,2,3,4,5,7,8,9]
Similar to the append method except that the append method modifies the original array, whereas concat makes a
new array.
Do no remove, this fixes the anchor on doc.flexsim.com
Parameters
val |
The value each element will now hold. |
Returns
Array
|
The modified array. |
Description
Fills the array with a value.
This code sets each element to 0.
Array myArray = [1,2,3,4,5];
myArray.fill(0); // [0,0,0,0,0]
Do no remove, this fixes the anchor on doc.flexsim.com
Parameters
val |
The element to look for. |
Returns
int
|
The index of the first occurence of the element in the array. |
Description
Searches the array for an element and returns its index.
Returns -1 if the element is not found in the array.
Array myArray = ["Apple","Orange","Mango","Pear"];
int index = myArray.indexOf("Mango"); // 3
int index = myArray.indexOf(2); // -1
Do no remove, this fixes the anchor on doc.flexsim.com
Parameters
separator |
A string value that will be placed between elements when concatenating. |
Returns
string
|
The string of concatenated elements separated by the separator. |
Description
Makes a string by concatenating each element.
Array myArray = [1,2,3,4,5];
string joined = myArray.join("-"); // "1-2-3-4-5"
Do no remove, this fixes the anchor on doc.flexsim.com
Returns
Variant
|
The last element of the array. |
Description
Removes and returns the last element of an array.
Array myArray = [1,2,3,4,5];
Variant lastVal = myArray.pop(); // 5
//myArray - [1,2,3,4]
Do no remove, this fixes the anchor on doc.flexsim.com
Parameters
val |
The new array element. |
Returns
Array
|
The modified array. |
Description
Adds a new element to the end of the array.
Array myArray = [1,2,3,4,5];
myArray.push(6); // [1,2,3,4,5,6]
Do no remove, this fixes the anchor on doc.flexsim.com
Returns
Array
|
The modified array. |
Description
Reverses the order of the elements in the array.
Array myArray = [1,2,3,4,5];
myArray.reverse(); // [5,4,3,2,1]
Do no remove, this fixes the anchor on doc.flexsim.com
Returns
Variant
|
The first element of the array. |
Description
Removes and returns the first element of an array.
Array myArray = [1,2,3,4,5];
Variant firstVal = myArray.shift(); // 1
//myArray - [2,3,4,5]
Do no remove, this fixes the anchor on doc.flexsim.com
Parameters
fromIndex |
The index of the first element in the selection. |
toIndex |
The index of the element after the last element in the selection. |
Returns
Array
|
A copy of part of the array. |
Description
Copies part of the array.
Array myArray = [1,2,3,4,5];
Array copy = myArray.slice(2, 5); // [2,3,4]
//myArray - [1,2,3,4,5]
Selects the elements starting at fromIndex, and ends at, but does not include, toIndex.
Do no remove, this fixes the anchor on doc.flexsim.com
Parameters
fromIndex |
The index where elements will be removed and then added. |
count |
The number of elements to remove. |
insert |
An array of elements to be added at the fromIndex. |
Returns
Array
|
The modified array. |
Description
Adds and/or removes elements from an array.
Array cars = ["Volvo", "BMW", "Audi", "Ford"];
cars.splice(2, 2); // ["Volvo", "Ford"]
cars.splice(3, 1, ["Lotus", "Kia"]); // ["Volvo", "BMW", "Lotus", "Kia", "Ford"]
Do no remove, this fixes the anchor on doc.flexsim.com
Parameters
val |
The new array element. |
Returns
Array
|
The modified array. |
Description
Adds a new element to the start of the array.
Array myArray = [1,2,3,4,5];
myArray.unshift(6); // [6,1,2,3,4,5]
Do no remove, this fixes the anchor on doc.flexsim.com
Array Constructor
Parameters
size |
The size of the new array. |
Description
Creates a new array of the given size.
Array myArray = Array(5); // [,,,,]
Do no remove, this fixes the anchor on doc.flexsim.com
Array.operator !=
Parameters
other |
The other array to compare this array to. |
Returns
int
|
False (0) if all elements of both arrays are the same. True (1) otherwise. |
Description
Compares if the array is not equal to another array.
Array myArray = [1,2,3,4,5];
Array otherArray1 = [1,2,3,4,5];
Array otherArray2 = [1,2,4,5];
myArray != otherArray1; // false
myArray != otherArray2; // true
Do no remove, this fixes the anchor on doc.flexsim.com
Array.operator []
Parameters
index |
The index of an element |
Returns
Description
Gets or sets an element.
Array myArray = [1,2,3,4,5];
myArray[2] = 6; // [1,6,3,4,5]
Variant value = myArray[3]; // 3
Do no remove, this fixes the anchor on doc.flexsim.com
Array.operator ==
Parameters
other |
The other array to compare this array to. |
Returns
int
|
True (1) if all elements of both arrays are the same. False (0) otherwise. |
Description
Compares the array to another array.
Array myArray = [1,2,3,4,5];
Array otherArray1 = [1,2,3,4,5];
Array otherArray2 = [1,2,4,5];
myArray == otherArray1; // true
myArray == otherArray2; // false