ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、视频、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
**矢量** **矢量**对象用于解决 ActiveX 脚本数组支持中的一些不足。在数组方面,有些语言的支持胜过其它语言,但这些语言不一致,并且有些语言(如 *JScript*)有 Opus 根本无法访问的不兼容的数组。因此,任何获取或返回类似数组变量的 Opus 脚本对象都会使用(或更倾向于使用)**矢量**,而不是数组。 **矢量**对象基本上可用作数组的直接插入替换。它们是*集合*,因此可以枚举它们或通过索引访问它们(例如 **Vector(4)** 访问第五个元素)。它们还有许多辅助方法,使得操作它们比数组通常更容易。 请注意,在 *JScript* 中,可以使用方括号(就像数组一样)或圆括号(就像函数参数一样)访问元素。在 *VBScript* 等其它语言中,只能使用圆括号。 可以使用 **[DOpusFactory](dopusfactory.zh.md).Vector** 方法创建新的 **矢量**。 <table> <thead><tr><th> 属性名称</th><th> 返回类型</th><th> 说明 </th></tr></thead><tbody><tr><td> 容量</td><td> *整数*</td><td> 返回 **矢量** 的容量(它可以在不重新分配内存的情况下容纳的元素数量)。这与它当前容纳的元素数量不同,即使容量更大,它也可以为 0。 </td></tr><tr><td> 数量</td><td> *整数*</td><td> 返回 **矢量** 当前容纳的元素数量。 </td></tr><tr><td> 空</td><td> *布尔值*</td><td> 如果 **矢量** 为空,则返回 **True**,如果不为空,则返回 **False**。 </td></tr><tr><td> 长度</td><td> *整数*</td><td> **数量** 的同义词。 </td></tr><tr><td> 大小</td><td> *整数*</td><td> **数量** 的同义词。 </td></tr></tbody> </table> <table> <thead><tr><th> 方法名称</th><th> **参数**</th><th> 返回类型</th><th> 说明 </th></tr></thead><tbody><tr><td> 追加</td><td> \<**矢量**:from\> \<整数:开始\> \<整数:结束\></td><td> *无*</td><td> 将另一个 **矢量** 的值复制到此矢量的末尾,同时保留现有值。如果未提供 *开始* 和 *结束*,则追加整个 **矢量** - 否则,仅追加指定元素。 除了 **矢量** 对象之外,还可以向此方法传递一个*集合*,而集合的内容将复制到 **矢量** 的末尾。 在 *JScript* 中,可以向此方法传递一个标准数组,以将数组复制到 **矢量** 的末尾。 </td></tr><tr><td> 分配</td><td> \<**矢量**:from\> \<整数:开始\> \<整数:结束\></td><td> *无*</td><td> 将另一个 **矢量** 的值复制到此矢量。如果未提供 *开始* 和 *结束*,则复制整个 **矢量** - 否则,仅复制指定元素。 除了 **矢量** 对象之外,还可以向此方法传递一个*集合*,而集合的内容将复制到 **矢量**。 在 *JScript* 中,可以向此方法传递一个标准数组,以将该数组复制到 **矢量** 中。 </td></tr><tr><td> 反向</td><td> *无*</td><td> *变体*</td><td> 返回 **矢量** 中的最后一个元素。 </td></tr><tr><td> 清除</td><td> *无*</td><td> *无*</td><td> 清除 **矢量** 的内容。 </td></tr><tr><td> 擦除</td><td> \<整数:索引\></td><td> *无*</td><td> 擦除指定索引处的元素。 </td></tr><tr><td> 交换</td><td> \<整数:索引1\> \<整数:索引2\></td><td> *无*</td><td> 交换两个指定元素的位置。 </td></tr><tr><td> 正面</td><td> *无*</td><td> *变体*</td><td> 返回 **矢量** 中的第一个元素。 </td></tr><tr><td> 插入</td><td> \<整数:索引\> \<变体:值\></td><td> *无*</td><td> 插入提供的值到指定位置。 </td></tr><tr><td> 弹回</td><td> *无*</td><td> *无*</td><td> 移除 **矢量** 的最后一个元素。 </td></tr><tr><td> 推入</td><td> \<变体:值\></td><td> *无*</td><td> 将提供的值添加到 **矢量** 的末尾。 </td></tr><tr><td> 保留</td><td> \<整数:容量\></td><td> *无*</td><td> 为指定的元素数量保留 **矢量** 中的空间(增加其**容量**,但元素**数量**保持不变)。 请注意,**矢量** 会动态增长 - 您不必专门保留它们或调整其大小。但是,如果您想向 **矢量** 中添加大量元素,则首先为它们保留空间会更有效。 </td></tr><tr><td> 调整大小</td><td> \<整数:大小\></td><td> *无*</td><td> 将 **矢量** 调整为指定数量的元素。任何超出 **矢量** 新大小的现有元素都将被擦除。 </td></tr><tr><td> 反向</td><td> *无*</td><td> *无*</td><td> 反转 **矢量** 容纳的元素顺序。字符串和数字按字母顺序和数字顺序排序 - 其它元素按类型分组,但没有按任何特定顺序排序。 </td></tr><tr><td> 缩小以适应</td><td> *无*</td><td> *无*</td><td> 将 **矢量** 的容量减少到它当前容纳的元素数量。 </td></tr><tr><td> 排序</td><td> *无*</td><td> *无*</td><td> 对 **矢量** 的内容排序。字符串和数字按字母顺序和数字顺序排序 - 其它元素按类型分组,但没有按任何特定顺序排序。 </td></tr><tr><td> 唯一</td><td> *无*</td><td> *整数*</td><td> 从 **矢量** 中移除重复元素,只保留一个。返回移除的元素数量。 </td></tr></tbody> </table>