1# Interface (ConcatArray) 2<!--Kit: ArkTS--> 3<!--Subsystem: CommonLibrary--> 4<!--Owner: @lijiamin2025--> 5<!--Designer: @weng-changcheng--> 6<!--Tester: @kirl75; @zsw_zhushiwei--> 7<!--Adviser: @ge-yafang--> 8> **说明:** 9> 10> 本模块首批接口从API version 12开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 11> 12> 此模块仅支持在ArkTS文件(文件后缀为.ets)中导入使用。 13 14表示可以进行连接的类似数组的对象。该接口扩展了`ISendable`接口。 15 16文档中存在泛型的使用,涉及以下泛型标记符: 17 18- T:Type,支持[Sendable支持的数据类型](../../arkts-utils/arkts-sendable.md#sendable支持的数据类型)。 19 20## 导入模块 21 22```ts 23import { collections } from '@kit.ArkTS'; 24``` 25 26## 属性 27 28**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 29 30**系统能力:** SystemCapability.Utils.Lang 31 32| 名称 | 类型 | 只读 | 可选 | 说明 | 33| ------ | ------ | ---- | ---- | ----------------- | 34| length | number | 是 | 否 | ConcatArray的元素个数。 | 35 36## [index: number] 37 38readonly [index: number]: T 39 40返回ConcatArray指定索引位置的元素,不支持修改指定索引位置的元素。 41 42**系统能力:** SystemCapability.Utils.Lang 43 44**参数:** 45 46| 参数名 | 类型 | 必填 | 说明 | 47| ----- | ------ | ---- | ---------------------------- | 48| index | number | 是 | 所需代码单元的从零开始的索引。 | 49 50**返回值:** 51 52| 类型 | 说明 | 53| ----- | ------------------------ | 54| T | ConcatArray给定的元素数据类型。| 55 56**错误码**: 57 58以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 59 60| 错误码ID | 错误信息 | 61| ------- | ------------------------------------ | 62| 401 | Parameter error. Illegal index. | 63| 10200001 | The value of index is out of range. | 64 65**示例:** 66 67```ts 68let concatArray : collections.ConcatArray<number> = new collections.Array<number>(1, 2, 4); 69console.info("Element at index 1: ", concatArray[1]); 70``` 71 72## join 73 74join(separator?: string): string 75 76将ConcatArray的所有元素连接成一个字符串,元素之间可以用指定的分隔符分隔。 77 78**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 79 80**系统能力:** SystemCapability.Utils.Lang 81 82**参数:** 83 84| 参数名 | 类型 | 必填 | 说明 | 85| --------- | ------ | ---- | ---------------------------------------------------- | 86| separator | string | 否 | 用于分隔ConcatArray元素的字符串。如果省略,则使用逗号分隔。 | 87 88**返回值:** 89 90| 类型 | 说明 | 91| ------ | ------------------------------------------------------------ | 92| string | 包含所有ConcatArray元素连接成的字符串。如果ConcatArray为空,则返回空字符串。 | 93 94**错误码**: 95 96以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)。 97 98| 错误码ID | 错误信息 | 99| ------- | -------- | 100| 401 | Parameter error. Invalid separator. | 101 102**示例:** 103 104```ts 105let concatArray : collections.ConcatArray<string> = new collections.Array<string>('a', 'b', 'c'); 106let joinedString = concatArray.join('-'); // 返回 "a-b-c" 107``` 108 109## slice 110 111slice(start?: number, end?: number): ConcatArray\<T> 112 113返回一个新的ConcatArray,该ConcatArray是原始ConcatArray的切片。 114 115**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 116 117**系统能力:** SystemCapability.Utils.Lang 118 119**参数:** 120| 参数名 | 类型 | 必填 | 说明 | 121| ------ | ------ | ---- | ------------------------------------------------------------ | 122| start | number | 否 | 开始索引。如果`start < 0`,则会从`start + array.length`位置开始。默认值为0。 | 123| end | number | 否 | 结束索引(不包括该元素)。如果`end < 0`,则会到`end + array.length`位置结束。默认为ArkTS Array的长度。 | 124 125**返回值:** 126 127| 类型 | 说明 | 128| --------- | -------------------------- | 129| ConcatArray\<T> | 包含原始ConcatArray切片的新ConcatArray。 | 130 131**错误码**: 132 133以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)。 134 135| 错误码ID | 错误信息 | 136| ------- | -------- | 137| 401 | Parameter error. Invalid \`start\` or \`end\` parameters. | 138 139**示例:** 140 141```ts 142let concatArray : collections.ConcatArray<number> = new collections.Array<number>(1, 2, 3, 4, 5); 143let slicedArray = concatArray.slice(1, 3); // 返回[2, 3],原Array保持不变 144``` 145