Arrays in OSL provide several methods for modification and access.
arr = [1, 2, 3, 4]
// Accessing elements (1-indexed)
first = arr[1] // 1
second = arr[2] // 2
// Modifying elements
arr[1] = 10 // [10, 2, 3, 4]
// Getting length
length = arr.len // Number of elements
Adding and Removing Elements
// Adding elements
arr.append(5) // Adds to end
arr.prepend(0) // Adds to beginning
// Removing elements
last = arr.pop() // Removes and returns last element
first = arr.shift() // Removes and returns first element
Array Methods
// Sorting
arr.sort() // Ascending order
arr.sort("desc") // Descending order
// Swapping elements
arr.swap(1, 2) // Swaps elements at indices 1 and 2
// Getting random element
random = arr.randomOf()
// Slicing arrays
slice = arr.trim(2, 4) // Gets elements from index 2 to 4 inclusive
// Mapping over elements
doubled = arr.map(def(x) -> (return x * 2))
// Fill array with value
numbers = (1 to 10).fill("hi") // ["hi", "hi", "hi", "hi", "hi", "hi", "hi", "hi", "hi", "hi"]