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 2 months ago