FlexScript Class - Array
Description
A dynamic array of Variant s.
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 Variant s, 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[1] = "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