# 静态数组
一个随机访问的通用类型值的序列,具有固定长度。
StaticArray API 类似于 Array API,重要的区别在于它具有固定的长度,不能更改。与普通的数组不同,StaticArray 没有单独的备份缓冲区,因此没有间接级别,因此可以具有最小的开销,并且性能特征与 C 中的数组非常相似。
# 构造函数
- 构造一个新的静态数组。
new StaticArray<T>(length: i32)
# 静态成员
function fromArray<T>(source: Array<T>): StaticArray<T>
从普通数组创建静态数组。
function concat<T>(source: StaticArray<T>, other: StaticArray<T>): StaticArray<T>
已弃用! 类似于实例成员
concat
,但接受和返回StaticArray
。建议使用参数化
concat
实例方法代替StaticArray.concat
。function slice<T>(source: StaticArray<T>, start?: i32, end?: i32): StaticArray<T>
已弃用! 类似于实例成员
slice
,但返回StaticArray
。建议使用参数化
slice
实例方法代替StaticArray.slice
。
# 实例成员
# 字段
- 此静态数组的固定长度。
readonly length: i32
# 方法
function at(pos: i32): T
获取指定位置的元素。此方法允许正负整数。负整数从最后一个元素开始倒数。
function concat<U extends ArrayLike<T> = Array<T>>(other: U): U
将此静态数组和另一个普通数组的值连接到一个新的普通数组中,按照此顺序。参数
U
接受Array<T>
或StaticArray<T>
类型。function copyWithin(target: i32, start: i32, end?: i32): this
将数组值的某个区域复制到目标位置开始的相应值上。
function every(fn: (value: T, index: i32, self: StaticArray<T>) => bool): bool
使用数组中的每个值调用指定的函数,直到找到第一个使函数返回
false
的值为止。如果所有函数都返回true
或数组为空,则返回true
,否则返回false
。function fill(value: T, start?: i32, end?: i32): this
用指定的值替换数组从
start
(包含)到end
(不包含)的值,并返回数组。function filter(fn: (value: T, index: i32, self: StaticArray<T>) => bool): Array<T>
使用数组中的每个值调用指定的函数,返回一个包含所有使函数返回
true
的值的数组。function findIndex(fn: (value: T, index: i32, self: StaticArray<T>) => bool): i32
使用数组中的每个值调用指定的函数,直到找到第一个使函数返回
true
的值为止,并返回其索引。如果从未出现这种情况,则返回-1
。function findLastIndex(fn: (value: T, index: i32, self: StaticArray<T>) => bool): i32;
使用数组中的每个值从末尾开始调用指定的函数,直到找到第一个使函数返回
true
的值为止,并返回其索引。如果从未出现这种情况,则返回-1
。function forEach(fn: (value: T, index: i32, self: StaticArray<T>) => void): void
使用数组中的每个值调用指定的函数。
function includes(value: T, fromIndex?: i32): bool
测试数组是否包含指定的值,可以选择提供起始索引。
function indexOf(value: T, fromIndex?: i32): i32
获取数组中可以找到指定值的第一个索引。如果未找到,则返回
-1
。function join(separator?: string): string
将数组的所有值连接到一个字符串中,用指定的间隔符(默认值:
,
)分隔。function lastIndexOf(value: T, fromIndex?: i32): i32
获取数组中可以找到指定值的最后一个索引。如果未找到,则返回
-1
。function map<U>(fn: (value: T, index: i32, self: StaticArray<T>) => U): Array<U>
使用数组中的每个值调用指定的函数,返回一个包含函数返回值的新数组。
function slice<U extends ArrayLike<T> = Array<T>>(start?: i32, end?: i32): U
返回此静态数组从
begin
(包含)到end
(不包含)的值的浅拷贝,作为一个新的普通数组。如果省略,end
默认值为数组的末尾。参数U
接受Array<T>
或StaticArray<T>
类型。function some(fn: (value: T, index: i32, self: StaticArray<T>) => bool): bool
使用数组中的每个值调用指定的函数,直到找到第一个使函数返回
true
的值为止,并返回true
。否则或如果数组为空,则返回false
。function sort(fn?: (a: T, b: T) => i32): this
对数组的值进行就地排序,使用指定的比较器函数,在返回数组之前对其进行修改。比较器返回一个负值表示
a < b
,正值表示a > b
,0
表示两者相等。与 JavaScript 不同,JavaScript 会执行隐式转换为字符串,比较器默认情况下比较类型为T
的两个值。function reduce<U>( fn: (accumValue: U, currentValue: T, index: i32, self: StaticArray<T>) => U, initialValue: U ): U
使用数组中的每个值调用指定的 reducer 函数,生成一个返回值。在
initialValue
开始,相应的先前 reducer 函数的返回值将存储在accumValue
中,在整个过程中最终成为返回值。function reduceRight<U>( fn: (accumValue: U, currentValue: T, index: i32, self: StaticArray<T>) => U, initialValue: U ): U
使用数组中的每个值(从右到左)调用指定的 reducer 函数,生成一个返回值。有关 reducer 函数的签名,请参见
Array#reduce
。function reverse(): this
就地反转数组的值,在返回数组之前对其进行修改。
function toString(): string
返回
join()
的结果。