# 数组
一个随机访问的通用类型值序列。
Array API 非常类似于 JavaScript 的 (MDN (在新窗口中打开)), 最显著的区别是,如果 T
是一个非空引用类型,则必须确保没有 null
值。示例
var arr = new Array<string>(10)
// arr[0]; // would error 😢
for (let i = 0; i < arr.length; ++i) {
arr[i] = ""
}
arr[0]; // now it works 😊
# 构造函数
- 构造一个新的数组。
new Array<T>(capacity?: i32)
# 静态成员
- 测试一个值是否为数组。
function isArray<U>(value: U): bool
# 实例成员
# 字段
- 此数组的长度。将长度设置为大于内部容量的值会自动扩展数组。
var length: i32
# 方法
function concat(other: Array<T>): Array<T>
将此数组和另一个数组的值连接到一个新数组,按此顺序排列。
function copyWithin(target: i32, start: i32, end?: i32): this
将数组的值从源位置复制到目标位置。
function every(fn: (value: T, index: i32, self: Array<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: Array<T>) => bool): Array<T>
对数组中的每个值调用指定函数,返回一个包含所有函数返回
true
的值的数组。function findIndex(fn: (value: T, index: i32, self: Array<T>) => bool): i32
对数组中的每个值调用指定函数,直到找到第一个函数返回
true
的值,返回其索引。如果永远不会出现这种情况,则返回-1
。function findLastIndex(fn: (value: T, index: i32, self: Array<T>) => bool): i32;
从末尾开始对数组中的每个值调用指定函数,直到找到第一个函数返回
true
的值,返回其索引。如果永远不会出现这种情况,则返回-1
。function flat(): valueof<T>[]
将数组的数组展平成一维数组。忽略
null
条目。function forEach(fn: (value: T, index: i32, self: Array<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: Array<T>) => U): Array<U>
对数组中的每个值调用指定函数,返回一个包含函数返回值的新数组。
function pop(): T
删除并返回数组的最后一个值。修改
Array#length
。如果数组为空,则抛出RangeError
。function push(value: T): i32
在数组末尾添加一个值并返回数组的新长度。修改
Array#length
。function reduce<U>( fn: (accumValue: U, currentValue: T, index: i32, self: Array<T>) => U, initialValue: U ): U
对数组中的每个值调用指定 reducer 函数,得到一个返回值。相应的先前 reducer 函数的返回值保存在
accumValue
中,从initialValue
开始,在过程中成为最终返回值。function reduceRight<U>( fn: (accumValue: U, currentValue: T, index: i32, self: Array<T>) => U, initialValue: U ): U
从右到左对数组中的每个值调用指定 reducer 函数,得到一个返回值。有关 reducer 函数的签名,请参见
Array#reduce
。function reverse(): this
就地反转数组的值,修改数组后再返回。
function shift(): T
删除并返回数组的第一个值。修改
Array#length
。function slice(start?: i32, end?: i32): Array<T>
返回数组从
begin
包含到end
独占的值的浅拷贝,作为一个新的数组。如果省略,end
默认设置为数组的末尾。function some(fn: (value: T, index: i32, self: Array<T>) => bool): bool
对数组中的每个值调用指定函数,直到找到第一个函数返回
true
的值,返回true
。否则,或如果数组为空,则返回false
。function sort(fn?: (a: T, b: T) => i32): this
使用指定的比较器函数就地排序数组的值,修改数组后再返回。比较器返回负值表示
a < b
,正值表示a > b
,0
表示两者相等。与 JavaScript 不同,JavaScript 会进行隐式字符串转换,比较器默认比较两个T
类型的的值。function splice(start: i32, deleteCount?: i32): Array<T>
从索引
start
开始,从数组中删除deleteCount
(默认值为所有剩余值)个值,就地修改数组,返回删除的值。function toString(): string
返回
Array#join()
的结果。function unshift(value: T): i32
在数组开头添加一个值并返回数组的新长度。修改
Array#length
。
← 全局变量 ArrayBuffer →