# 静态数组
一个随机访问的通用类型值的序列,具有固定长度。
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()的结果。