The Array
object, as with arrays in other programming languages, enables storing a collection of multiple items under a single variable name , and has members for performing common array operations .
Katxupa is here just to extend the standard library by adding more utility functions to the Array type. Besides Array standard functions , the library provides the following functions:
Global Functions
listOf
Creates an immutable list from the provided elements.
Copy const immutableList = listOf(1, 2, 3);
// immutableList is [1, 2, 3]
mutableListOf
Creates a mutable list from the provided elements.
Copy const mutableList = mutableListOf(1, 2, 3);
// mutableList is [1, 2, 3]
emptyList
Creates an empty list. It returns an empty array, which represents the list.
Copy const emptyArray = emptyList();
console.log(emptyArray); // []
Class Functions
getOrElse
Gets the element at the specified index or provides a default value if the index is out of bounds.
Copy const collection = mutableListOf(1, 2, 3, 4, 5);
const element = collection.getOrElse(2, () => 10);
// element is 3
getOrEmpty
Gets an optional containing the element at the specified index.
Copy const collection = mutableListOf(1, 2, 3, 4, 5);
const optionalElement = collection.getOrEmpty(2);
// optionalElement contains the value Optional.of(3)
associateWith
Associates each element with a key-value pair based on the provided selectors.
Copy const elements = [{ id: 1, value: 'a' }, { id: 2, value: 'b' }];
const keyValuePairs = elements.associateWith(
(element) => element.id,
(element) => element.value
);
sortBy
Sorts the array using the provided comparator function.
Copy const users = [
{ name: 'John', age: 30 },
{ name: 'Alice', age: 25 },
{ name: 'Bob', age: 35 },
];
collection.sortBy((a, b) => a.age - b.age);
// users is now sorted by age:
// [{ name: 'Alice', age: 25 }, { name: 'John', age: 30 }, { name: 'Bob', age: 35 }]
plus
Concatenates the array with another array.
Copy const collection = mutableListOf(1, 2, 3);
const otherArray = [4, 5, 6];
const result = collection.plus(otherArray);
// result is [1, 2, 3, 4, 5, 6]
minus
Removes elements from the collection that are present in another array.
Copy const collection = mutableListOf(1, 2, 3, 4, 5);
const elementsToRemove = [3, 5];
const result = collection.minus(elementsToRemove);
// result is [1, 2, 4]
minusAssign
Appends elements from another array to the collection (mutates the collection).
Copy const collection = mutableListOf(1, 2, 3, 4, 5);
const elementsToRemove = [3, 5];
collection.minusAssign(elementsToRemove);
// collection is now [1, 2, 4]
plusAssign
Appends elements from another array to the collection (mutates the collection).
Copy const collection = mutableListOf(1, 2, 3);
const additionalElements = [4, 5, 6];
collection.plusAssign(additionalElements);
// collection is now [1, 2, 3, 4, 5, 6]
count
Returns the number of elements in the collection.
Copy const count = mutableListOf(1, 2, 3, 4, 5).count();
// count is 5
removeAll
Removes elements from the collection based on a predicate or a collection of elements.
Copy const collection = mutableListOf(1, 2, 3, 4, 5);
const elementsToRemove = [3, 5];
const result = collection.removeAll(elementsToRemove);
// result is [1, 2, 4]
retainAll
Retains only the elements in the collection that are present in another array.
Copy const collection = mutableListOf(1, 2, 3, 4, 5);
const elementsToRetain = [3, 5];
const result = collection.retainAll(elementsToRetain);
// result is [3, 5]
first
Returns the first element in the collection.
Copy const collection = mutableListOf(1, 2, 3);
const firstElement = collection.first();
// firstElement is 1
last
Returns the last element in the array.
Copy const collection = mutableListOf(1, 2, 3);
const lastElement = collection.last();
// lastElement is 3
shuffle
Shuffles the elements in the array randomly.
Copy const collection = mutableListOf(1, 2, 3, 4, 5);
collection.shuffle();
// collection is now shuffled randomly, e.g., [3, 1, 5, 2, 4]
Last updated 11 months ago