💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
[TOC] # Array<T> > class no package extended by [RegExpMatch](http://#) * * * * * 所有平台可用 * * * * * 一个 Array 是值的一个存储形式。可以使用索引或者它的API访问。 查看: * http://haxe.org/manual/std-Array.html * http://haxe.org/manual/lf-array-comprehension.html ## 构造函数 ~~~ new () ~~~ 创建一个新的数组。 ## 变量 ### `length:Int` * * * * * 只读。 `this` 数组的长度。 ## 方法 ### `concat (a:Array<T>):Array<T>` * * * * * 通过附加 `a` 的元素到 `this` Array 的元素返回一个新的数组。 这个操作不修改 `this` Array。 如果 `a` 是空的数组 `[]` ,返回 `this` Array 的一个拷贝。 返回数组的长度等于 `this.length` 和 `a.length` 的和。 如果 `a` 是 `null` ,结果则是未指定的。 ### `copy ():Array<T>` * * * * * 返回 `this` Array 的一个浅的拷贝。 元素不被拷贝,保留它们的身份,所以,对于任何有效的 `i` , `a[i]==a.copy()[i]` 是 `true`。然而,`a == a.copy()` 总是 `false` 。 ### `filter (f:T ‑> Bool):Array<T>` * * * * * 返回一个数组,包含 this Array 中那些 `f` 返回 `true` 的元素。 个体的元素并不被赋值,保留它们的身份。 如果 f 为 null ,结果则是未指定的。 ### `indexOf (x:T, ?fromIndex:Int):Int` * * * * * 返回 `x` 在 `this` Array 中第一次出现的位置,从前往后搜索。 如果 `x` 通过检查标准相等被发现,函数返回它的索引。 如果 `x` 没有找到,函数返回 `-1` 。 如果 `fromIndex` 被指定,将会用作搜索开始的索引,否则从 `0` 索引开始搜索。如果是负数,它将作为从 `this` Array 末尾的偏移量来计算开始索引。 如果给定的或者计算的开始索引小于 `0` ,整个数组都会被搜索,如果大于或者等于 `this` Array 的长度,函数返回 `-1` 。 ### `insert (pos:Int, x:T):Void` * * * * * 插入元素 `x` 到 `pos` 位置。 这个操作修改 `this` Array。 偏移这样计算: 如果 `pos` 超出 `this.length` ,偏移就是 `this.length` 如果 `pos` 是负数,偏移是从 `this` Array 的末尾计算,即,`this.length + pos` 。如果这产生一个负数,偏移为 `0` 。 否则,偏移就是 `pos` 。 如果结果的偏移没有超过 `this.length` ,所有的元素从这个偏移开始(包括这个偏移)到 `this` Array 的结尾都会向前移动一个索引。 ### `iterator ():Iterator<T>` * * * * * 返回一个这个数组值的迭代器。 ### `join (sep:String):String` * * * * * 返回 `this` Array 的一个 字符串表示,使用 `sep` 分隔每个元素。 这个操作的结果等于 `Std.string(this[0]) + sep + Std.string(this[1]) + sep + ... + sep + Std.string(this[this.length-1])` 。 如果 `this` 是一个空数组 `[]` ,结果是空字符串 `""` 。如果 `this` 刚好有一个元素,结果等于调用 `Std.string(this[0])` 。 如果 `sep` 是 `null` ,结果则是未指定的。 ### `lastIndexOf (x:T, ?fromIndex:Int):Int` * * * * * 返回 `x` 在 `this` Array 中最后出现的位置,从后往前搜索。 如果 `x` 通过检查标准相等被发现,函数返回它的索引。 如果 `x` 没有被找到,函数返回 `-1` 。 如果 `fromIndex` 被指定,它将用作搜索的开始位置,否则搜索从最后一个元素索引开始。如果它是负数,将作为 从 `this` Array 尾部的偏移量来计算开始索引。如果给定或者计算的开始索引大于等于 `this` Array 的长度,整个数组会被搜索,如果它小于 `0` ,函数返回 `-1` 。 ### `map<S> (f:T ‑> S):Array<S>` * * * * * 通过应用函数 `f` 到 `this` 的每个元素创建一个新的数组。 元素的顺序将被保持。 如果 `f` 是 `null` ,结果则是未指定的。 ### `pop ():Null<T>` * * * * * 移除 `this` Array 的最后一个元素并返回它。 这个操作修改 `this` Array 。 如果 `this` 有至少一个元素,`this.length` 会减少 `1` 。 如果 `this` 是空数组 `[]` , `null` 被返回,长度仍然保持 `0` 。 ### `push (x:T):Int` * * * * * 添加元素 `x` 到 `this` Array 的末尾,并返回 `this` Array 新的 长度。 这个操作修改 `this` Array 。 `this.length` 增加 `1` 。 ### `remove (x:T):Bool` * * * * * 移除 `this` Array 中第一次出现的 `x` 。 这个操作修改 `this` Array 。 如果 `x` 通过检查标准相等被发现,它被从 `this` Array 中移除,所有后面的元素被重新索引。然后函数返回 `true` 。 如果 `x` 没有被找到, `this` Array 不会改变,函数返回 `false` 。 ### `reverse ():Void` * * * * * 反转 `this` Array 中元素的顺序。 这个操作修改 `this` Array 。 如果 `this.length < 2` , `this` 不会被改变。 ### `shift ():Null<T>` * * * * * 移除 `this` Array 的第一个元素并返回它。 这个操作修改 `this` Array 。 如果 `this` 有至少一个元素,`this.length` 和 每个剩下的元素的索引降低 `1` 。 如果 `this` 是空数组 `[]` ,`null` 被返回,长度保持为 `0` 。 ### `slice (pos:Int, ?end:Int):Array<T>` * * * * * 创建一个 `this` Array 某个范围的浅拷贝,从 `pos` 开始,包含 `pos` 索引,到 `end` 位置,但是不包含 `end` 索引。 这个操作不修改 `this` Array 。 元素不会被拷贝,保留它们的身份。 如果 `end` 省略,或者超出` this.length` ,默认为 `this` Array 的结尾。 如果 `pos` 或 `end` 是负数,它们的偏移从 `this` Array 的末尾,分别被 `this.length + pos` 和 `this.length + end` 计算。如果这产生一个负数值,被 `0` 替代。 如果 `pos` 超出 `this.length`, 或者, 如果 `end` 超出或者等于 `pos`,结果则为 `[]` 。 ### `sort (f:T ‑> T ‑> Int):Void` * * * * * 根据比较函数 `f` 排序 `this` Array ,如果 `x==y` ,`f(x,y)` 返回 `0` ;如果 `x>y` ,返回一个正整数;如果 `x<y` ,返回一个负整数。 这个操作修改 `this` Array 。 排序操作不保证是稳定的,也就是说,相等的元素的顺序可能被保留。对于一个稳定 Array 排序算法,`haxe.ds.ArraySort.sort()` 可以用来替代它。 如果 `f` 是 `null`, 结果则是未指定的。 ### `splice (pos:Int, len:Int):Array<T>` * * * * * 从 `this` Array 移除 `len` 长度的元素,从 `pos` 位置开始,包括 `pos` 索引,然后返回它们。 这个操作修改 `this` Array 。 如果 `len` 小于 `0`,或者 `pos` 超出 `this.length`, 结果为 空数组 `[]` 。 如果 `pos` 是负数,它的值从 `this` Array的末尾,通过 `this.length + pos` 计算。如果这产生一个负数值,`0` 用来替代它。 如果 `len` 和 `pos` 的和结果超过了 `this.length`, 这个操作会影响从 `pos` 到 `this` Array 末尾的元素。 返回的数组的长度等于 `this` Array 原来的长度减去 `this` Array 新的长度。换句话说,原来 `this` Array 中的每个元素要么保留在 `this` Array中,要么成为返回的数组中的一个元素。 ### `toString ():String` * * * * * 返回 `this` Array 的字符串表现。 结果会包括每个个体元素的字符串表现,并用逗号 , 分隔。闭合的 `[]` 在某些平台会丢失,使用 `Std.string()` 来获得一个字符串表现,可以保持平台间的一致性。 ### `unshift (x:T):Void` * * * * * 添加 `x` 元素到 `this` Array 的开始。 这个操作修改 `this` Array 。 `this.length` 和 `this` Array 中的每个元素索引加 `1` 。