Skip to main content

Class: SortedArray<T>

Defined in: src/sdk/utils/datastructures/SortedArray.ts:4

A sorted array.

Type Parameters​

Type Parameter
T

Constructors​

Constructor​

new SortedArray<T>(comparatorFunc, equalityFunc): SortedArray<T>

Defined in: src/sdk/utils/datastructures/SortedArray.ts:30

Constructor.

Parameters​

ParameterTypeDefault valueDescription
comparatorFunc(a, b) => numberundefinedA function which defines the relative sorting priority of two elements. The function should return 0 if its arguments are to be sorted identically, a negative number if the first argument is to be sorted before the second argument, and a positive number if the first argument is to be sorted after the second argument.
equalityFunc(a, b) => booleanSortedArray.DEFAULT_EQUALITY_FUNCA function which checks if two elements are equal. Defaults to the strict equality comparison (===) if not defined.

Returns​

SortedArray<T>

Accessors​

array​

Get Signature​

get array(): readonly T[]

Defined in: src/sdk/utils/datastructures/SortedArray.ts:10

A read-only version of the array object backing this sorted array.

Returns​

readonly T[]


length​

Get Signature​

get length(): number

Defined in: src/sdk/utils/datastructures/SortedArray.ts:18

The number of elements in this array.

Returns​

number

The number of elements in the array.

Methods​

[iterator]()​

[iterator](): IterableIterator<T>

Defined in: src/sdk/utils/datastructures/SortedArray.ts:338

Returns​

IterableIterator<T>

Inherit Doc​


clear()​

clear(): void

Defined in: src/sdk/utils/datastructures/SortedArray.ts:325

Removes all elements from this array.

Returns​

void


first()​

first(): T

Defined in: src/sdk/utils/datastructures/SortedArray.ts:118

Gets the first element in this array.

Returns​

T

The first element in this array.

Throws​

RangeError if this array is empty.


get()​

get(index): T

Defined in: src/sdk/utils/datastructures/SortedArray.ts:96

Gets the element at a specified index.

Parameters​

ParameterTypeDescription
indexnumberAn index.

Returns​

T

The element at the specified index.

Throws​

RangeError if index is out of bounds.


has()​

has(element): boolean

Defined in: src/sdk/utils/datastructures/SortedArray.ts:161

Checks whether this array contains an element. Returns true if and only if there is at least one element in this array which is equal to the specified element according to this array's equality function.

Parameters​

ParameterTypeDescription
elementTThe element to check.

Returns​

boolean

Whether this array contains the element.


indexOf()​

indexOf(element): number

Defined in: src/sdk/utils/datastructures/SortedArray.ts:293

Finds the index of the first occurrence of an element in this array. This array is searched for the first element which is equal to the specified element according to this array's equality function, and its index is returned.

Parameters​

ParameterTypeDescription
elementTThe element for which to search.

Returns​

number

The index of the first occurrence of the specified element, or -1 if no such element was found.


insert()​

insert(element): number

Defined in: src/sdk/utils/datastructures/SortedArray.ts:173

Inserts an element into this array. The element will be inserted at the greatest index such that it is located before all the existing elements in the array sorted after it according to this array's sorting function. All existing elements located at indexes greater than or equal to the index at which the element was inserted are shifted to the right.

Parameters​

ParameterTypeDescription
elementTThe element to insert.

Returns​

number

The index at which the element was placed.


insertAll()​

insertAll(elements): number

Defined in: src/sdk/utils/datastructures/SortedArray.ts:189

Inserts all elements in an Iterable into this array. Each element is inserted according to the same behavior used by the insert() method. If an element appears more than once in the iterable, one instance of that element will be inserted into this array for each time the element appears in the iterable.

Parameters​

ParameterTypeDescription
elementsIterable<T>An iterable of elements to insert.

Returns​

number

The number of elements inserted.


last()​

last(): T

Defined in: src/sdk/utils/datastructures/SortedArray.ts:139

Gets the last element in this array.

Returns​

T

The last element in this array.

Throws​

RangeError if this array is empty.


match()​

match(query): T | undefined

Defined in: src/sdk/utils/datastructures/SortedArray.ts:304

Searches this array for the first element whose sorting priority is equal to a query element. If no such element is found, then undefined is returned instead.

Parameters​

ParameterTypeDescription
queryTThe query element.

Returns​

T | undefined

The first element in the array with the same sorting priority as the query, or undefined if no such element exists.


matchIndex()​

matchIndex(query): number

Defined in: src/sdk/utils/datastructures/SortedArray.ts:318

Searches this array for the index of the first element whose sorting priority is equal to a query element. If no such element is found, then -(index + 1) is returned instead, where index is the index at which the query element would be found if it were contained in the array.

Parameters​

ParameterTypeDescription
queryTThe query element.

Returns​

number

The index of the first element in this array with the same sorting priority as the query, or -(index + 1) if no such element exists, where index is the index at which the query element would be found if it were contained in the array.


peek()​

peek(index): T | undefined

Defined in: src/sdk/utils/datastructures/SortedArray.ts:109

Gets the element at a specified index, if it exists.

Parameters​

ParameterTypeDescription
indexnumberAn index.

Returns​

T | undefined

The element at the specified index, or undefined if the index is out of bounds.


peekFirst()​

peekFirst(): T | undefined

Defined in: src/sdk/utils/datastructures/SortedArray.ts:130

Gets the first element in this array, if it exists.

Returns​

T | undefined

The first element in this array, or undefined if this array is empty.


peekLast()​

peekLast(): T | undefined

Defined in: src/sdk/utils/datastructures/SortedArray.ts:151

Gets the last element in this array, if it exists.

Returns​

T | undefined

The last element in this array, or undefined if this array is empty.


pop()​

pop(): T | undefined

Defined in: src/sdk/utils/datastructures/SortedArray.ts:268

Removes the last element from this array and returns it.

Returns​

T | undefined

The removed element, or undefined if the array was empty.


remove()​

remove(element): number

Defined in: src/sdk/utils/datastructures/SortedArray.ts:217

Removes the first occurrence of an element from this array. This array is searched for the first element which is equal to the specified element according to this array's equality function, the matching element is removed, and all elements after it are shifted to the left.

Parameters​

ParameterTypeDescription
elementTThe element to remove.

Returns​

number

The (former) index of the removed element, or -1 if no element was removed.


removeAll()​

removeAll(elements): number

Defined in: src/sdk/utils/datastructures/SortedArray.ts:232

Removes all elements in an Iterable from this array. Each element is removed according to the behavior used by the remove() method. If an element appears more than once in the iterable, one instance of that element will be removed from this array for each time the element appears in the iterable.

Parameters​

ParameterTypeDescription
elementsIterable<T>An iterable of elements to remove.

Returns​

number

The number of elements removed.


removeAt()​

removeAt(index): T | undefined

Defined in: src/sdk/utils/datastructures/SortedArray.ts:256

Removes an element at a specific index from this array and returns it.

Parameters​

ParameterTypeDescription
indexnumberThe index of the element to remove.

Returns​

T | undefined

The removed element, or undefined if no element was removed.


resort()​

resort(): void

Defined in: src/sdk/utils/datastructures/SortedArray.ts:283

Re-sorts this array using its sorting function.

Returns​

void


shift()​

shift(): T | undefined

Defined in: src/sdk/utils/datastructures/SortedArray.ts:276

Removes the first element from this array and returns it.

Returns​

T | undefined

The removed element, or undefined if the array was empty.


values()​

values(): IterableIterator<T>

Defined in: src/sdk/utils/datastructures/SortedArray.ts:333

Gets an IterableIterator over all elements in this array.

Returns​

IterableIterator<T>

An IterableIterator over all elements in this array.