# StaticArray
具有固定长度的通用类型的可随机访问的值序列。
¥A randomly accessible sequence of values of a generic type with a fixed length.
StaticArray API 与 数组 API 类似,重要的区别在于它具有无法更改的固定长度。与普通数组不同,StaticArray 没有单独的后备缓冲区,因此没有间接级别,因此可以具有最小的开销和与 C 中的数组非常相似的性能特性。
¥The StaticArray API is similar to the Array API, with the important difference that it has a fixed length that cannot change. Unlike a normal Array, a StaticArray does not have a separate backing buffer, so no level of indirection, and as such can have minimal overhead and performance characteristics very similar to arrays in C.
# 构造函数
¥Constructor
new StaticArray<T>(length: i32)
构造一个新的静态数组。
¥Constructs a new static array.
# 静态成员
¥Static members
function fromArray<T>(source: Array<T>): StaticArray<T>
从普通数组创建静态数组。
¥Creates a static array from a normal array.
function concat<T>(source: StaticArray<T>, other: StaticArray<T>): StaticArray<T>
已弃用!与实例成员
concat
类似,但获取并返回StaticArray
。¥***Deprecated!*** Like the instance member
concat
, but taking and returning aStaticArray
.最好使用参数化
concat
实例方法来代替StaticArray.concat
。¥Instead of
StaticArray.concat
better to use parametricconcat
instance method.function slice<T>(source: StaticArray<T>, start?: i32, end?: i32): StaticArray<T>
已弃用!与实例成员
slice
类似,但返回StaticArray
。¥***Deprecated!*** Like the instance member
slice
, but returning aStaticArray
.最好使用参数化
slice
实例方法来代替StaticArray.slice
。¥Instead of
StaticArray.slice
better to use parametricslice
instance method.
# 实例成员
¥Instance members
# 字段
¥Fields
readonly length: i32
此静态数组的固定长度。
¥The fixed length of this static array.
# 方法
¥Methods
function at(pos: i32): T
获取指定位置的元素。此方法允许正整数和负整数。负整数从最后一个元素开始倒数。
¥Gets the element at the specified position. This method allows for positive and negative integers. Negative integers count back from the last element.
function concat<U extends ArrayLike<T> = Array<T>>(other: U): U
按此顺序将此静态数组和另一个普通数组的值连接到一个新的普通数组。参数
U
接受Array<T>
或StaticArray<T>
类型。¥Concatenates the values of this static and the other normal array to a new normal array, in this order. Patameter
U
acceptsArray<T>
orStaticArray<T>
types.function copyWithin(target: i32, start: i32, end?: i32): this
将数组值的区域复制到从目标位置开始的相应值上。
¥Copies a region of an array's values over the respective values starting at the target location.
function every(fn: (value: T, index: i32, self: StaticArray<T>) => bool): bool
使用数组的每个值调用指定的函数,直到找到函数返回
false
的第一个值。如果所有函数都返回true
或数组为空,则返回true
,否则返回false
。¥Calls the specified function with every value of the array until it finds the first value for which the function returns
false
. Returnstrue
if all functions returnedtrue
or the array is empty, otherwisefalse
.function fill(value: T, start?: i32, end?: i32): this
将数组中从
start
(含)到end
(不含)的值替换为指定值,返回该数组。¥Replaces the values of the array from
start
inclusive toend
exclusive in place with the specified value, returning the array.function filter(fn: (value: T, index: i32, self: StaticArray<T>) => bool): Array<T>
使用数组的每个值调用指定的函数,返回一个新数组,其中包含函数返回
true
的所有值。¥Calls the specified function with every value of the array, returning a new array with all values for which the function returned
true
.function findIndex(fn: (value: T, index: i32, self: StaticArray<T>) => bool): i32
使用数组的每个值调用指定的函数,直到找到该函数返回
true
的第一个值,并返回其索引。如果情况并非如此,则返回-1
。¥Calls the specified function with every value of the array until it finds the first value for which the function returns
true
, returning its index. Returns-1
if that's never the case.function findLastIndex(fn: (value: T, index: i32, self: StaticArray<T>) => bool): i32;
使用从末尾开始的数组的每个值调用指定的函数,直到找到该函数返回
true
的第一个值,并返回其索引。如果情况并非如此,则返回-1
。¥Calls the specified function with every value of the array starting at the end until it finds the first value for which the function returns
true
, returning its index. Returns-1
if that's never the case.function forEach(fn: (value: T, index: i32, self: StaticArray<T>) => void): void
使用数组的每个值调用指定的函数。
¥Calls the specified function with every value of the array.
function includes(value: T, fromIndex?: i32): bool
测试数组是否包含指定值,可以选择提供起始索引。
¥Tests if the array includes the specified value, optionally providing a starting index.
function indexOf(value: T, fromIndex?: i32): i32
获取可以在数组中找到指定值的第一个索引。如果未找到则返回
-1
。¥Gets the first index where the specified value can be found in the array. Returns
-1
if not found.function join(separator?: string): string
将数组的所有值连接到一个字符串,并用指定的分隔符分隔(默认值:
,
)。¥Concatenates all values of the array to a string, separated by the specified separator (default:
,
).function lastIndexOf(value: T, fromIndex?: i32): i32
获取可以在数组中找到指定值的最后一个索引。如果未找到则返回
-1
。¥Gets the last index where the specified value can be found in the array. Returns
-1
if not found.function map<U>(fn: (value: T, index: i32, self: StaticArray<T>) => U): Array<U>
使用数组的每个值调用指定的函数,返回函数返回值的新数组。
¥Calls the specified function with every value of the array, returning a new array of the function's return values.
function slice<U extends ArrayLike<T> = Array<T>>(start?: i32, end?: i32): U
返回此静态数组的值(从
begin
(含)到end
(不包括))的浅表副本,作为新的普通数组。如果省略,end
默认为数组末尾。参数U
接受Array<T>
或StaticArray<T>
类型。¥Returns a shallow copy of this static array's values from
begin
inclusive toend
exclusive, as a new normal array. If omitted,end
defaults to the end of the array. PatameterU
acceptsArray<T>
orStaticArray<T>
types.function some(fn: (value: T, index: i32, self: StaticArray<T>) => bool): bool
使用数组的每个值调用指定的函数,直到找到函数返回
true
的第一个值,然后返回true
。否则或如果数组为空,则返回false
。¥Calls the specified function with every value of the array until it finds the first value for which the function returns
true
, returningtrue
. Returnsfalse
otherwise or if the array is empty.function sort(fn?: (a: T, b: T) => i32): this
使用指定的比较器函数对数组的值进行就地排序,并在返回数组之前修改数组。比较器返回负值表示
a < b
,返回正值表示a > b
和0
表示两者相等。与 JavaScript 中执行到字符串的隐式转换不同,比较器默认比较两个T
类型的值。¥Sorts the values of the array in place, using the specified comparator function, modifying the array before returning it. The comparator returning a negative value means
a < b
, a positive value meansa > b
and0
means that both are equal. Unlike in JavaScript, where an implicit conversion to strings is performed, the comparator defaults to compare two values of typeT
.function reduce<U>( fn: (accumValue: U, currentValue: T, index: i32, self: StaticArray<T>) => U, initialValue: U ): U
使用数组的每个值调用指定的缩减器函数,从而产生单个返回值。各个前一个 reducer 函数的返回值被记住在
accumValue
中,从initialValue
开始,成为该过程中的最终返回值。¥Calls the specified reducer function with each value of the array, resulting in a single return value. The respective previous reducer function's return value is remembered in
accumValue
, starting withinitialValue
, becoming the final return value in the process.function reduceRight<U>( fn: (accumValue: U, currentValue: T, index: i32, self: StaticArray<T>) => U, initialValue: U ): U
使用数组的每个值从右到左调用指定的缩减器函数,从而产生单个返回值。请参阅
Array#reduce
了解 reducer 函数的签名。¥Calls the specified reducer function with each value of the array, from right to left, resulting in a single return value. See
Array#reduce
for the reducer function's signature.function reverse(): this
就地反转数组的值,在返回数组之前修改数组。
¥Reverses an array's values in place, modifying the array before returning it.
function toString(): string
返回
join()
的结果。¥Returns the result of
join()
.