1e41f4b71Sopenharmony_ci# @arkts.collections (ArkTS容器集)
2e41f4b71Sopenharmony_ci
3e41f4b71Sopenharmony_ci本模块提供的ArkTS容器集,可以用于并发场景下的高性能数据传递。功能与JavaScript内建的对应容器类似,但ArkTS容器实例无法通过\.或者\[\]添加或更新属性。
4e41f4b71Sopenharmony_ci
5e41f4b71Sopenharmony_ciArkTS容器在多个并发实例间传递时,其默认行为是引用传递,支持多个并发实例可以同时操作同一个容器实例。另外,也支持拷贝传递,即每个并发实例持有一个ArkTS容器实例。
6e41f4b71Sopenharmony_ci
7e41f4b71Sopenharmony_ciArkTS容器并不是线程安全的,内部使用了fail-fast(快速失败)机制:当检测多个并发实例同时对容器进行结构性改变时,会触发异常。因此,在修改场景下,容器使用方需要使用ArkTS提供的异步锁机制保证ArkTS容器的安全访问。
8e41f4b71Sopenharmony_ci
9e41f4b71Sopenharmony_ci当前ArkTS容器集主要包含以下几种容器:[Array](#collectionsarray)、[Map](#collectionsmap)、[Set](#collectionsset)、[TypedArray](#collectionstypedarray)、[ArrayBuffer](#collectionsarraybuffer)、[BitVector](#collectionsbitvector)、[ConcatArray](#collectionsconcatarray)。
10e41f4b71Sopenharmony_ci
11e41f4b71Sopenharmony_ci> **说明:**
12e41f4b71Sopenharmony_ci>
13e41f4b71Sopenharmony_ci> 本模块首批接口从API version 12开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
14e41f4b71Sopenharmony_ci
15e41f4b71Sopenharmony_ci## 导入模块
16e41f4b71Sopenharmony_ci
17e41f4b71Sopenharmony_ci```ts
18e41f4b71Sopenharmony_ciimport { collections } from '@kit.ArkTS';
19e41f4b71Sopenharmony_ci```
20e41f4b71Sopenharmony_ci
21e41f4b71Sopenharmony_ci## ISendable
22e41f4b71Sopenharmony_ci
23e41f4b71Sopenharmony_citype ISendable = lang.ISendable
24e41f4b71Sopenharmony_ci
25e41f4b71Sopenharmony_ciISendable是所有Sendable类型(除`null`和`undefined`)的父类型。自身没有任何必须的方法和属性。
26e41f4b71Sopenharmony_ci
27e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
28e41f4b71Sopenharmony_ci
29e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
30e41f4b71Sopenharmony_ci
31e41f4b71Sopenharmony_ci| 类型 | 说明   |
32e41f4b71Sopenharmony_ci| ------ | ------ |
33e41f4b71Sopenharmony_ci| [lang.ISendable](js-apis-arkts-lang.md#langisendable)   | 所有Sendable类型的父类型。 |
34e41f4b71Sopenharmony_ci
35e41f4b71Sopenharmony_ci## collections.ConcatArray
36e41f4b71Sopenharmony_ci表示可以进行连接的类似数组的对象。该接口扩展了`ISendable`接口。
37e41f4b71Sopenharmony_ci
38e41f4b71Sopenharmony_ci文档中存在泛型的使用,涉及以下泛型标记符:
39e41f4b71Sopenharmony_ci
40e41f4b71Sopenharmony_ci- T:Type,支持[Sendable支持的数据类型](../../arkts-utils/sendable-overview.md#sendable支持的数据类型)。
41e41f4b71Sopenharmony_ci
42e41f4b71Sopenharmony_ci### 属性
43e41f4b71Sopenharmony_ci
44e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
45e41f4b71Sopenharmony_ci
46e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
47e41f4b71Sopenharmony_ci
48e41f4b71Sopenharmony_ci| 名称   | 类型   | 只读 | 可选 | 说明              |
49e41f4b71Sopenharmony_ci| ------ | ------ | ---- | ---- | ----------------- |
50e41f4b71Sopenharmony_ci| length | number | 是   | 否   | ConcatArray的元素个数。 |
51e41f4b71Sopenharmony_ci
52e41f4b71Sopenharmony_ci### [index: number]
53e41f4b71Sopenharmony_ci
54e41f4b71Sopenharmony_cireadonly [index: number]: T
55e41f4b71Sopenharmony_ci
56e41f4b71Sopenharmony_ci返回ConcatArray指定索引位置的元素。
57e41f4b71Sopenharmony_ci
58e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
59e41f4b71Sopenharmony_ci
60e41f4b71Sopenharmony_ci| 参数名    | 类型   | 必填 | 说明                                                            |
61e41f4b71Sopenharmony_ci| ----- | ------ | ---- | ------------------------------------------------------------------ |
62e41f4b71Sopenharmony_ci| index | number | 是   | 所需代码单元的从零开始的索引。当index<0 或者index>=length,则会抛出错误。 |
63e41f4b71Sopenharmony_ci
64e41f4b71Sopenharmony_ci**返回值:**
65e41f4b71Sopenharmony_ci
66e41f4b71Sopenharmony_ci| 类型   | 说明                     |
67e41f4b71Sopenharmony_ci| ----- | ------------------------ |
68e41f4b71Sopenharmony_ci| T | ConcatArray给定的元素数据类型。|
69e41f4b71Sopenharmony_ci
70e41f4b71Sopenharmony_ci**错误码**:
71e41f4b71Sopenharmony_ci
72e41f4b71Sopenharmony_ci以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。
73e41f4b71Sopenharmony_ci
74e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                             |
75e41f4b71Sopenharmony_ci| ------- | ------------------------------------ |
76e41f4b71Sopenharmony_ci| 401 |  Parameter error. Illegal index.         |
77e41f4b71Sopenharmony_ci| 10200001 | The value of index is out of range. |
78e41f4b71Sopenharmony_ci
79e41f4b71Sopenharmony_ci**示例:**
80e41f4b71Sopenharmony_ci
81e41f4b71Sopenharmony_ci```ts
82e41f4b71Sopenharmony_cilet concatArray : collections.ConcatArray<number> = new collections.Array<number>(1, 2, 4);
83e41f4b71Sopenharmony_ciconsole.info("Element at index 1: ", concatArray[1]);
84e41f4b71Sopenharmony_ci```
85e41f4b71Sopenharmony_ci
86e41f4b71Sopenharmony_ci### join
87e41f4b71Sopenharmony_ci
88e41f4b71Sopenharmony_cijoin(separator?: string): string
89e41f4b71Sopenharmony_ci
90e41f4b71Sopenharmony_ci将ConcatArray的所有元素连接成一个字符串,元素之间可以用指定的分隔符分隔。
91e41f4b71Sopenharmony_ci
92e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
93e41f4b71Sopenharmony_ci
94e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
95e41f4b71Sopenharmony_ci
96e41f4b71Sopenharmony_ci**参数:**
97e41f4b71Sopenharmony_ci
98e41f4b71Sopenharmony_ci| 参数名    | 类型   | 必填 | 说明                                                 |
99e41f4b71Sopenharmony_ci| --------- | ------ | ---- | ---------------------------------------------------- |
100e41f4b71Sopenharmony_ci| separator | string | 否   | 用于分隔ConcatArray元素的字符串。如果省略,则使用逗号分隔。 |
101e41f4b71Sopenharmony_ci
102e41f4b71Sopenharmony_ci**返回值:**
103e41f4b71Sopenharmony_ci
104e41f4b71Sopenharmony_ci| 类型   | 说明                                                         |
105e41f4b71Sopenharmony_ci| ------ | ------------------------------------------------------------ |
106e41f4b71Sopenharmony_ci| string | 包含所有ConcatArray元素连接成的字符串。如果ConcatArray为空,则返回空字符串。 |
107e41f4b71Sopenharmony_ci
108e41f4b71Sopenharmony_ci**错误码**:
109e41f4b71Sopenharmony_ci
110e41f4b71Sopenharmony_ci以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)。
111e41f4b71Sopenharmony_ci
112e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
113e41f4b71Sopenharmony_ci| ------- | -------- |
114e41f4b71Sopenharmony_ci| 401 |  Parameter error. Invalid separator. |
115e41f4b71Sopenharmony_ci
116e41f4b71Sopenharmony_ci**示例:**
117e41f4b71Sopenharmony_ci
118e41f4b71Sopenharmony_ci```ts
119e41f4b71Sopenharmony_cilet concatArray : collections.ConcatArray<string> = new collections.Array<string>('a', 'b', 'c');
120e41f4b71Sopenharmony_cilet joinedString = concatArray.join('-'); // 返回 "a-b-c"
121e41f4b71Sopenharmony_ci```
122e41f4b71Sopenharmony_ci
123e41f4b71Sopenharmony_ci### slice
124e41f4b71Sopenharmony_ci
125e41f4b71Sopenharmony_cislice(start?: number, end?: number): ConcatArray\<T>
126e41f4b71Sopenharmony_ci
127e41f4b71Sopenharmony_ci返回一个新的ConcatArray,该ConcatArray是原始ConcatArray的切片。
128e41f4b71Sopenharmony_ci
129e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
130e41f4b71Sopenharmony_ci
131e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
132e41f4b71Sopenharmony_ci
133e41f4b71Sopenharmony_ci**参数:**
134e41f4b71Sopenharmony_ci| 参数名 | 类型   | 必填 | 说明                                                         |
135e41f4b71Sopenharmony_ci| ------ | ------ | ---- | ------------------------------------------------------------ |
136e41f4b71Sopenharmony_ci| start  | number | 否   | 开始索引。如果`start < 0`,则会从`start + array.length`位置开始。默认值为0。   |
137e41f4b71Sopenharmony_ci| end    | number | 否   | 结束索引(不包括该元素)。如果`end < 0`,则会到`end + array.length`位置结束。默认为ArkTS Array的长度。 |
138e41f4b71Sopenharmony_ci
139e41f4b71Sopenharmony_ci**返回值:**
140e41f4b71Sopenharmony_ci
141e41f4b71Sopenharmony_ci| 类型      | 说明                       |
142e41f4b71Sopenharmony_ci| --------- | -------------------------- |
143e41f4b71Sopenharmony_ci| ConcatArray\<T> | 包含原始ConcatArray切片的新ConcatArray。 |
144e41f4b71Sopenharmony_ci
145e41f4b71Sopenharmony_ci**错误码**:
146e41f4b71Sopenharmony_ci
147e41f4b71Sopenharmony_ci以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)。
148e41f4b71Sopenharmony_ci
149e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
150e41f4b71Sopenharmony_ci| ------- | -------- |
151e41f4b71Sopenharmony_ci| 401 |  Parameter error. Invalid `start` or `end` parameters. |
152e41f4b71Sopenharmony_ci
153e41f4b71Sopenharmony_ci**示例:**
154e41f4b71Sopenharmony_ci
155e41f4b71Sopenharmony_ci```ts
156e41f4b71Sopenharmony_cilet concatArray : collections.ConcatArray<number> = new collections.Array<number>(1, 2, 3, 4, 5);
157e41f4b71Sopenharmony_cilet slicedArray = concatArray.slice(1, 3); // 返回[2, 3],原Array保持不变
158e41f4b71Sopenharmony_ci```
159e41f4b71Sopenharmony_ci
160e41f4b71Sopenharmony_ci## collections.Array
161e41f4b71Sopenharmony_ci
162e41f4b71Sopenharmony_ci一种线性数据结构,底层基于数组实现,可以在ArkTS上并发实例间传递。
163e41f4b71Sopenharmony_ci
164e41f4b71Sopenharmony_ci当需要在ArkTS上并发实例间传递Array时,可以通过传递Array引用提升传递性能。
165e41f4b71Sopenharmony_ci
166e41f4b71Sopenharmony_ci文档中存在泛型的使用,涉及以下泛型标记符:
167e41f4b71Sopenharmony_ci
168e41f4b71Sopenharmony_ci- T:Type,支持[Sendable支持的数据类型](../../arkts-utils/sendable-overview.md#sendable支持的数据类型)。
169e41f4b71Sopenharmony_ci
170e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
171e41f4b71Sopenharmony_ci
172e41f4b71Sopenharmony_ci### 属性
173e41f4b71Sopenharmony_ci
174e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
175e41f4b71Sopenharmony_ci
176e41f4b71Sopenharmony_ci| 名称   | 类型   | 只读 | 可选 | 说明              |
177e41f4b71Sopenharmony_ci| ------ | ------ | ---- | ---- | ----------------- |
178e41f4b71Sopenharmony_ci| length | number | 是   | 否   | Array的元素个数。 |
179e41f4b71Sopenharmony_ci
180e41f4b71Sopenharmony_ci
181e41f4b71Sopenharmony_ci### constructor
182e41f4b71Sopenharmony_ci
183e41f4b71Sopenharmony_ci**构造函数**
184e41f4b71Sopenharmony_ci
185e41f4b71Sopenharmony_ciconstructor()
186e41f4b71Sopenharmony_ci
187e41f4b71Sopenharmony_ci创建一个ArkTS Array的构造函数。
188e41f4b71Sopenharmony_ci
189e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
190e41f4b71Sopenharmony_ci
191e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
192e41f4b71Sopenharmony_ci
193e41f4b71Sopenharmony_ci**错误码:**
194e41f4b71Sopenharmony_ci
195e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
196e41f4b71Sopenharmony_ci
197e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                            |
198e41f4b71Sopenharmony_ci| -------- | --------------------------------------------------- |
199e41f4b71Sopenharmony_ci| 10200012 | The Array's constructor cannot be directly invoked. |
200e41f4b71Sopenharmony_ci
201e41f4b71Sopenharmony_ci**示例:**
202e41f4b71Sopenharmony_ci
203e41f4b71Sopenharmony_ci```ts
204e41f4b71Sopenharmony_cilet array = new collections.Array<number>();
205e41f4b71Sopenharmony_ci```
206e41f4b71Sopenharmony_ci
207e41f4b71Sopenharmony_ci### constructor
208e41f4b71Sopenharmony_ci
209e41f4b71Sopenharmony_ciconstructor(first: T, ...left: T[])
210e41f4b71Sopenharmony_ci
211e41f4b71Sopenharmony_ciArkTS Array的构造函数,通过开发者提供的元素进行初始化。
212e41f4b71Sopenharmony_ci
213e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
214e41f4b71Sopenharmony_ci
215e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
216e41f4b71Sopenharmony_ci
217e41f4b71Sopenharmony_ci**参数:**
218e41f4b71Sopenharmony_ci
219e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明                            |
220e41f4b71Sopenharmony_ci| ------ | ---- | ---- | ------------------------------- |
221e41f4b71Sopenharmony_ci| first  | T    | 是   | 初始化ArkTS Array的第一个元素。 |
222e41f4b71Sopenharmony_ci| left   | T[]  | 否   | 初始化ArkTS Array的剩余元素。   |
223e41f4b71Sopenharmony_ci
224e41f4b71Sopenharmony_ci**错误码:**
225e41f4b71Sopenharmony_ci
226e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
227e41f4b71Sopenharmony_ci
228e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                            |
229e41f4b71Sopenharmony_ci| -------- | --------------------------------------------------- |
230e41f4b71Sopenharmony_ci| 10200012 | The Array's constructor cannot be directly invoked. |
231e41f4b71Sopenharmony_ci
232e41f4b71Sopenharmony_ci**示例:**
233e41f4b71Sopenharmony_ci
234e41f4b71Sopenharmony_ci```ts
235e41f4b71Sopenharmony_cilet array = new collections.Array<number>(1, 2, 3, 4);
236e41f4b71Sopenharmony_ci```
237e41f4b71Sopenharmony_ci### constructor
238e41f4b71Sopenharmony_ci
239e41f4b71Sopenharmony_ciconstructor(...items: T[])
240e41f4b71Sopenharmony_ci
241e41f4b71Sopenharmony_ciArkTS Array的构造函数,通过开发者提供的元素进行初始化。
242e41f4b71Sopenharmony_ci
243e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
244e41f4b71Sopenharmony_ci
245e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
246e41f4b71Sopenharmony_ci
247e41f4b71Sopenharmony_ci**参数:**
248e41f4b71Sopenharmony_ci
249e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明                            |
250e41f4b71Sopenharmony_ci| ------ | ---- | ---- | ------------------------------- |
251e41f4b71Sopenharmony_ci| items  | T[]  | 否   | 初始化ArkTS Array的元素。       |
252e41f4b71Sopenharmony_ci
253e41f4b71Sopenharmony_ci**错误码:**
254e41f4b71Sopenharmony_ci
255e41f4b71Sopenharmony_ci以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。
256e41f4b71Sopenharmony_ci
257e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                            |
258e41f4b71Sopenharmony_ci| -------- | --------------------------------------------------- |
259e41f4b71Sopenharmony_ci| 401      | Parameter error.                                    |
260e41f4b71Sopenharmony_ci| 10200012 | The Array's constructor cannot be directly invoked. |
261e41f4b71Sopenharmony_ci
262e41f4b71Sopenharmony_ci**示例:**
263e41f4b71Sopenharmony_ci
264e41f4b71Sopenharmony_ci```ts
265e41f4b71Sopenharmony_cilet arrayPara  = [1,2,3];
266e41f4b71Sopenharmony_cilet array = new collections.Array<number>(...arrayPara);
267e41f4b71Sopenharmony_ci```
268e41f4b71Sopenharmony_ci
269e41f4b71Sopenharmony_ci### create
270e41f4b71Sopenharmony_ci
271e41f4b71Sopenharmony_cistatic create\<T>(arrayLength: number, initialValue: T): Array\<T>
272e41f4b71Sopenharmony_ci
273e41f4b71Sopenharmony_ci生成一个固定长度的Array,其中,每个元素的初始值为initialValue。
274e41f4b71Sopenharmony_ci
275e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
276e41f4b71Sopenharmony_ci
277e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
278e41f4b71Sopenharmony_ci
279e41f4b71Sopenharmony_ci**参数:**
280e41f4b71Sopenharmony_ci
281e41f4b71Sopenharmony_ci| 参数名    | 类型          | 必填 | 说明                            |
282e41f4b71Sopenharmony_ci| --------- | ------------- | ---- | ------------------------------- |
283e41f4b71Sopenharmony_ci| arrayLength | number | 是   | 用于构造ArkTS Array的长度。 |
284e41f4b71Sopenharmony_ci| initialValue | T | 是   | 用于填充ArkTS Array的值。 |
285e41f4b71Sopenharmony_ci
286e41f4b71Sopenharmony_ci**返回值:**
287e41f4b71Sopenharmony_ci
288e41f4b71Sopenharmony_ci| 类型      | 说明                    |
289e41f4b71Sopenharmony_ci| --------- | ----------------------- |
290e41f4b71Sopenharmony_ci| Array\<T> | 新创建的ArkTS Array实例。 |
291e41f4b71Sopenharmony_ci
292e41f4b71Sopenharmony_ci**错误码:**
293e41f4b71Sopenharmony_ci
294e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
295e41f4b71Sopenharmony_ci
296e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                         |
297e41f4b71Sopenharmony_ci| -------- | -------------------------------- |
298e41f4b71Sopenharmony_ci| 10200011 | The create method cannot be bound. |
299e41f4b71Sopenharmony_ci
300e41f4b71Sopenharmony_ci**示例:**
301e41f4b71Sopenharmony_ci
302e41f4b71Sopenharmony_ci```ts
303e41f4b71Sopenharmony_cilet array = collections.Array.create<number>(3, 10); // [10, 10, 10]
304e41f4b71Sopenharmony_ci```
305e41f4b71Sopenharmony_ci
306e41f4b71Sopenharmony_ci### from
307e41f4b71Sopenharmony_ci
308e41f4b71Sopenharmony_cistatic from\<T>(arrayLike: ArrayLike\<T>): Array\<T>
309e41f4b71Sopenharmony_ci
310e41f4b71Sopenharmony_ci从一个实现了ArrayLike接口的对象创建一个新的ArkTS Array。
311e41f4b71Sopenharmony_ci
312e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
313e41f4b71Sopenharmony_ci
314e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
315e41f4b71Sopenharmony_ci
316e41f4b71Sopenharmony_ci**参数:**
317e41f4b71Sopenharmony_ci
318e41f4b71Sopenharmony_ci| 参数名    | 类型          | 必填 | 说明                            |
319e41f4b71Sopenharmony_ci| --------- | ------------- | ---- | ------------------------------- |
320e41f4b71Sopenharmony_ci| arrayLike | ArrayLike\<T> | 是   | 用于构造ArkTS Array的对象。 |
321e41f4b71Sopenharmony_ci
322e41f4b71Sopenharmony_ci**返回值:**
323e41f4b71Sopenharmony_ci
324e41f4b71Sopenharmony_ci| 类型      | 说明                    |
325e41f4b71Sopenharmony_ci| --------- | ----------------------- |
326e41f4b71Sopenharmony_ci| Array\<T> | 新创建的ArkTS Array实例。 |
327e41f4b71Sopenharmony_ci
328e41f4b71Sopenharmony_ci**错误码:**
329e41f4b71Sopenharmony_ci
330e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
331e41f4b71Sopenharmony_ci
332e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                         |
333e41f4b71Sopenharmony_ci| -------- | -------------------------------- |
334e41f4b71Sopenharmony_ci| 10200011 | The from method cannot be bound. |
335e41f4b71Sopenharmony_ci
336e41f4b71Sopenharmony_ci**示例:**
337e41f4b71Sopenharmony_ci
338e41f4b71Sopenharmony_ci```ts
339e41f4b71Sopenharmony_ci// 正例
340e41f4b71Sopenharmony_cilet array : Array<string> = ['str1', 'str2', 'str3']; // 原生Array<T>,T是Sendable数据类型。
341e41f4b71Sopenharmony_cilet sendableArray = collections.Array.from<string>(array); // 返回Sendable Array<T>
342e41f4b71Sopenharmony_ci```
343e41f4b71Sopenharmony_ci
344e41f4b71Sopenharmony_ci<!--code_no_check-->
345e41f4b71Sopenharmony_ci```ts
346e41f4b71Sopenharmony_ci// 反例
347e41f4b71Sopenharmony_cilet array : Array<Array<string>> = [['str1', 'str2', 'str3'], ['str4', 'str5', 'str6'], ['str7', 'str8', 'str9']]; // 原生Array<T>,T是非Sendable数据类型。
348e41f4b71Sopenharmony_cilet sendableArray = collections.Array.from<Array<string>>(array); // 打印异常信息:Parameter error.Only accept sendable value
349e41f4b71Sopenharmony_ci```
350e41f4b71Sopenharmony_ci
351e41f4b71Sopenharmony_ci### pop
352e41f4b71Sopenharmony_ci
353e41f4b71Sopenharmony_cipop(): T | undefined
354e41f4b71Sopenharmony_ci
355e41f4b71Sopenharmony_ci从ArkTS Array中移除并返回最后一个元素。如果Array为空,则返回undefined,且Array不发生变化。
356e41f4b71Sopenharmony_ci
357e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
358e41f4b71Sopenharmony_ci
359e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
360e41f4b71Sopenharmony_ci
361e41f4b71Sopenharmony_ci**返回值:**
362e41f4b71Sopenharmony_ci
363e41f4b71Sopenharmony_ci| 类型           | 说明                                                |
364e41f4b71Sopenharmony_ci| -------------- | --------------------------------------------------- |
365e41f4b71Sopenharmony_ci| T \| undefined | 从Array中移除的元素;如果Array为空,则返回undefined。 |
366e41f4b71Sopenharmony_ci
367e41f4b71Sopenharmony_ci**错误码:**
368e41f4b71Sopenharmony_ci
369e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
370e41f4b71Sopenharmony_ci
371e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                        |
372e41f4b71Sopenharmony_ci| -------- | ------------------------------- |
373e41f4b71Sopenharmony_ci| 10200011 | The pop method cannot be bound. |
374e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification error.  |
375e41f4b71Sopenharmony_ci
376e41f4b71Sopenharmony_ci**示例:**
377e41f4b71Sopenharmony_ci
378e41f4b71Sopenharmony_ci```ts
379e41f4b71Sopenharmony_cilet array = new collections.Array<number>(1, 2, 3);
380e41f4b71Sopenharmony_cilet lastElement = array.pop(); // 返回3,Array变为[1, 2]
381e41f4b71Sopenharmony_ci```
382e41f4b71Sopenharmony_ci
383e41f4b71Sopenharmony_ci### push
384e41f4b71Sopenharmony_ci
385e41f4b71Sopenharmony_cipush(...items: T[]): number
386e41f4b71Sopenharmony_ci
387e41f4b71Sopenharmony_ci在ArkTS Array的末尾添加一个或多个元素,并返回新的Array长度。
388e41f4b71Sopenharmony_ci
389e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
390e41f4b71Sopenharmony_ci
391e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
392e41f4b71Sopenharmony_ci
393e41f4b71Sopenharmony_ci**参数:**
394e41f4b71Sopenharmony_ci
395e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明                               |
396e41f4b71Sopenharmony_ci| ------ | ---- | ---- | ---------------------------------- |
397e41f4b71Sopenharmony_ci| items  | T[]  | 是   | 要添加到Array末尾的一个或多个元素。 |
398e41f4b71Sopenharmony_ci
399e41f4b71Sopenharmony_ci**返回值:**
400e41f4b71Sopenharmony_ci
401e41f4b71Sopenharmony_ci| 类型   | 说明               |
402e41f4b71Sopenharmony_ci| ------ | ------------------ |
403e41f4b71Sopenharmony_ci| number | 返回新Array的长度。 |
404e41f4b71Sopenharmony_ci
405e41f4b71Sopenharmony_ci**错误码:**
406e41f4b71Sopenharmony_ci
407e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
408e41f4b71Sopenharmony_ci
409e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                         |
410e41f4b71Sopenharmony_ci| -------- | -------------------------------- |
411e41f4b71Sopenharmony_ci| 10200011 | The push method cannot be bound. |
412e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification error.   |
413e41f4b71Sopenharmony_ci
414e41f4b71Sopenharmony_ci**示例:**
415e41f4b71Sopenharmony_ci
416e41f4b71Sopenharmony_ci```ts
417e41f4b71Sopenharmony_cilet array = new collections.Array<number>(1, 2, 3);
418e41f4b71Sopenharmony_cilet length = array.push(4, 5); // 返回5,Array变为[1, 2, 3, 4, 5]
419e41f4b71Sopenharmony_ci```
420e41f4b71Sopenharmony_ci
421e41f4b71Sopenharmony_ci### join
422e41f4b71Sopenharmony_ci
423e41f4b71Sopenharmony_cijoin(separator?: string): string
424e41f4b71Sopenharmony_ci
425e41f4b71Sopenharmony_ci将ArkTS Array的所有元素连接成一个字符串,元素之间可以用指定的分隔符分隔。
426e41f4b71Sopenharmony_ci
427e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
428e41f4b71Sopenharmony_ci
429e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
430e41f4b71Sopenharmony_ci
431e41f4b71Sopenharmony_ci**参数:**
432e41f4b71Sopenharmony_ci
433e41f4b71Sopenharmony_ci| 参数名    | 类型   | 必填 | 说明                                                 |
434e41f4b71Sopenharmony_ci| --------- | ------ | ---- | ---------------------------------------------------- |
435e41f4b71Sopenharmony_ci| separator | string | 否   | 用于分隔Array元素的字符串。如果省略,则使用逗号分隔。 |
436e41f4b71Sopenharmony_ci
437e41f4b71Sopenharmony_ci**返回值:**
438e41f4b71Sopenharmony_ci
439e41f4b71Sopenharmony_ci| 类型   | 说明                                                         |
440e41f4b71Sopenharmony_ci| ------ | ------------------------------------------------------------ |
441e41f4b71Sopenharmony_ci| string | 包含所有Array元素连接成的字符串。如果Array为空,则返回空字符串。 |
442e41f4b71Sopenharmony_ci
443e41f4b71Sopenharmony_ci**错误码:**
444e41f4b71Sopenharmony_ci
445e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
446e41f4b71Sopenharmony_ci
447e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                         |
448e41f4b71Sopenharmony_ci| -------- | -------------------------------- |
449e41f4b71Sopenharmony_ci| 10200011 | The join method cannot be bound. |
450e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification error.   |
451e41f4b71Sopenharmony_ci
452e41f4b71Sopenharmony_ci**示例:**
453e41f4b71Sopenharmony_ci
454e41f4b71Sopenharmony_ci```ts
455e41f4b71Sopenharmony_cilet array = new collections.Array<string>('a', 'b', 'c');
456e41f4b71Sopenharmony_cilet joinedString = array.join('-'); // 返回 "a-b-c"
457e41f4b71Sopenharmony_ci```
458e41f4b71Sopenharmony_ci
459e41f4b71Sopenharmony_ci### shift
460e41f4b71Sopenharmony_ci
461e41f4b71Sopenharmony_cishift(): T | undefined
462e41f4b71Sopenharmony_ci
463e41f4b71Sopenharmony_ci从ArkTS Array中移除并返回第一个元素。如果Array为空,则返回undefined,且Array不发生变化。
464e41f4b71Sopenharmony_ci
465e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
466e41f4b71Sopenharmony_ci
467e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
468e41f4b71Sopenharmony_ci
469e41f4b71Sopenharmony_ci**返回值:**
470e41f4b71Sopenharmony_ci
471e41f4b71Sopenharmony_ci| 类型           | 说明                                                |
472e41f4b71Sopenharmony_ci| -------------- | --------------------------------------------------- |
473e41f4b71Sopenharmony_ci| T \| undefined | 从Array中移除的元素;如果Array为空,则返回undefined。 |
474e41f4b71Sopenharmony_ci
475e41f4b71Sopenharmony_ci**错误码:**
476e41f4b71Sopenharmony_ci
477e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
478e41f4b71Sopenharmony_ci
479e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                          |
480e41f4b71Sopenharmony_ci| -------- | --------------------------------- |
481e41f4b71Sopenharmony_ci| 10200011 | The shift method cannot be bound. |
482e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification error.    |
483e41f4b71Sopenharmony_ci
484e41f4b71Sopenharmony_ci**示例:**
485e41f4b71Sopenharmony_ci
486e41f4b71Sopenharmony_ci```ts
487e41f4b71Sopenharmony_cilet array = new collections.Array<number>(1, 2, 3);
488e41f4b71Sopenharmony_cilet firstElement = array.shift(); // 返回1,Array变为[2, 3]
489e41f4b71Sopenharmony_ci```
490e41f4b71Sopenharmony_ci
491e41f4b71Sopenharmony_ci### unshift
492e41f4b71Sopenharmony_ci
493e41f4b71Sopenharmony_ciunshift(...items: T[]): number
494e41f4b71Sopenharmony_ci
495e41f4b71Sopenharmony_ci在ArkTS Array的首端插入一个或多个元素,并返回新的Array长度。
496e41f4b71Sopenharmony_ci
497e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
498e41f4b71Sopenharmony_ci
499e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
500e41f4b71Sopenharmony_ci
501e41f4b71Sopenharmony_ci**参数:**
502e41f4b71Sopenharmony_ci
503e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明                     |
504e41f4b71Sopenharmony_ci| ------ | ---- | ---- | ------------------------ |
505e41f4b71Sopenharmony_ci| items  | T[]  | 是   | 要插入到Array首端的元素。 |
506e41f4b71Sopenharmony_ci
507e41f4b71Sopenharmony_ci**返回值:**
508e41f4b71Sopenharmony_ci
509e41f4b71Sopenharmony_ci| 类型   | 说明           |
510e41f4b71Sopenharmony_ci| ------ | -------------- |
511e41f4b71Sopenharmony_ci| number | 新Array的长度。 |
512e41f4b71Sopenharmony_ci
513e41f4b71Sopenharmony_ci**错误码:**
514e41f4b71Sopenharmony_ci
515e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
516e41f4b71Sopenharmony_ci
517e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                            |
518e41f4b71Sopenharmony_ci| -------- | ----------------------------------- |
519e41f4b71Sopenharmony_ci| 10200011 | The unshift method cannot be bound. |
520e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification error.      |
521e41f4b71Sopenharmony_ci
522e41f4b71Sopenharmony_ci**示例:**
523e41f4b71Sopenharmony_ci
524e41f4b71Sopenharmony_ci```ts
525e41f4b71Sopenharmony_cilet array = new collections.Array<number>(1, 2, 3);
526e41f4b71Sopenharmony_cilet newLength = array.unshift(0); // 返回4,Array变为[0, 1, 2, 3]
527e41f4b71Sopenharmony_ci```
528e41f4b71Sopenharmony_ci
529e41f4b71Sopenharmony_ci### slice
530e41f4b71Sopenharmony_ci
531e41f4b71Sopenharmony_cislice(start?: number, end?: number): Array\<T>
532e41f4b71Sopenharmony_ci
533e41f4b71Sopenharmony_ci返回一个新的Array,该Array是原始ArkTS Array的切片。
534e41f4b71Sopenharmony_ci
535e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
536e41f4b71Sopenharmony_ci
537e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
538e41f4b71Sopenharmony_ci
539e41f4b71Sopenharmony_ci**参数:**
540e41f4b71Sopenharmony_ci| 参数名 | 类型   | 必填 | 说明                                                         |
541e41f4b71Sopenharmony_ci| ------ | ------ | ---- | ------------------------------------------------------------ |
542e41f4b71Sopenharmony_ci| start  | number | 否   | 开始索引。如果`start < 0`,则会从`start + array.length`位置开始。默认值为0。   |
543e41f4b71Sopenharmony_ci| end    | number | 否   | 结束索引(不包括该元素)。如果`end < 0`,则会到`end + array.length`位置结束。默认为ArkTS Array的长度。 |
544e41f4b71Sopenharmony_ci
545e41f4b71Sopenharmony_ci**返回值:**
546e41f4b71Sopenharmony_ci
547e41f4b71Sopenharmony_ci| 类型      | 说明                       |
548e41f4b71Sopenharmony_ci| --------- | -------------------------- |
549e41f4b71Sopenharmony_ci| Array\<T> | 包含原始Array切片的新Array。 |
550e41f4b71Sopenharmony_ci
551e41f4b71Sopenharmony_ci**错误码:**
552e41f4b71Sopenharmony_ci
553e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
554e41f4b71Sopenharmony_ci
555e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                          |
556e41f4b71Sopenharmony_ci| -------- | --------------------------------- |
557e41f4b71Sopenharmony_ci| 10200011 | The slice method cannot be bound. |
558e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification error.    |
559e41f4b71Sopenharmony_ci
560e41f4b71Sopenharmony_ci**示例:**
561e41f4b71Sopenharmony_ci
562e41f4b71Sopenharmony_ci```ts
563e41f4b71Sopenharmony_cilet array = new collections.Array<number>(1, 2, 3, 4, 5);
564e41f4b71Sopenharmony_cilet slicedArray = array.slice(1, 3); // 返回[2, 3],Array保持不变
565e41f4b71Sopenharmony_ci```
566e41f4b71Sopenharmony_ci
567e41f4b71Sopenharmony_ci### sort
568e41f4b71Sopenharmony_ci
569e41f4b71Sopenharmony_cisort(compareFn?: (a: T, b: T) => number): Array\<T>
570e41f4b71Sopenharmony_ci
571e41f4b71Sopenharmony_ci对ArkTS Array进行排序,并返回排序后的Array。
572e41f4b71Sopenharmony_ci
573e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
574e41f4b71Sopenharmony_ci
575e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
576e41f4b71Sopenharmony_ci
577e41f4b71Sopenharmony_ci**参数:**
578e41f4b71Sopenharmony_ci
579e41f4b71Sopenharmony_ci| 参数名    | 类型                   | 必填 | 说明                                       |
580e41f4b71Sopenharmony_ci| --------- | ---------------------- | ---- | ------------------------------------------ |
581e41f4b71Sopenharmony_ci| compareFn | (a: T, b: T) => number | 否   | 用于确定元素顺序的函数。默认使用升序排序。 |
582e41f4b71Sopenharmony_ci
583e41f4b71Sopenharmony_ci**返回值:**
584e41f4b71Sopenharmony_ci
585e41f4b71Sopenharmony_ci| 类型      | 说明           |
586e41f4b71Sopenharmony_ci| --------- | -------------- |
587e41f4b71Sopenharmony_ci| Array\<T> | 排序后的Array。 |
588e41f4b71Sopenharmony_ci
589e41f4b71Sopenharmony_ci**错误码:**
590e41f4b71Sopenharmony_ci
591e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
592e41f4b71Sopenharmony_ci
593e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                         |
594e41f4b71Sopenharmony_ci| -------- | -------------------------------- |
595e41f4b71Sopenharmony_ci| 10200011 | The sort method cannot be bound. |
596e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification error.   |
597e41f4b71Sopenharmony_ci
598e41f4b71Sopenharmony_ci**示例:**
599e41f4b71Sopenharmony_ci
600e41f4b71Sopenharmony_ci```ts
601e41f4b71Sopenharmony_cilet array = new collections.Array<number>(1, 3, 5, 4, 2);
602e41f4b71Sopenharmony_ciarray.sort((a: number, b: number) => a - b); // [1, 2, 3, 4, 5]
603e41f4b71Sopenharmony_ciarray.sort((a: number, b: number) => b - a); // [5, 4, 3, 2, 1]
604e41f4b71Sopenharmony_ci```
605e41f4b71Sopenharmony_ci
606e41f4b71Sopenharmony_ci### indexOf
607e41f4b71Sopenharmony_ci
608e41f4b71Sopenharmony_ciindexOf(searchElement: T, fromIndex?: number): number
609e41f4b71Sopenharmony_ci
610e41f4b71Sopenharmony_ci返回在ArkTS Array中搜索元素首次出现的索引,如果不存在则返回-1。
611e41f4b71Sopenharmony_ci
612e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
613e41f4b71Sopenharmony_ci
614e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
615e41f4b71Sopenharmony_ci
616e41f4b71Sopenharmony_ci**参数:**
617e41f4b71Sopenharmony_ci
618e41f4b71Sopenharmony_ci| 参数名        | 类型   | 必填 | 说明                        |
619e41f4b71Sopenharmony_ci| ------------- | ------ | ---- | --------------------------- |
620e41f4b71Sopenharmony_ci| searchElement | T      | 是   | 要搜索的值。                |
621e41f4b71Sopenharmony_ci| fromIndex     | number | 否   | 开始搜索的索引。默认值为0。 |
622e41f4b71Sopenharmony_ci
623e41f4b71Sopenharmony_ci**返回值:**
624e41f4b71Sopenharmony_ci
625e41f4b71Sopenharmony_ci| 类型   | 说明                                           |
626e41f4b71Sopenharmony_ci| ------ | ---------------------------------------------- |
627e41f4b71Sopenharmony_ci| number | 搜索元素首次出现的索引;如果不存在,则返回-1。 |
628e41f4b71Sopenharmony_ci
629e41f4b71Sopenharmony_ci**错误码:**
630e41f4b71Sopenharmony_ci
631e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
632e41f4b71Sopenharmony_ci
633e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                            |
634e41f4b71Sopenharmony_ci| -------- | ----------------------------------- |
635e41f4b71Sopenharmony_ci| 10200011 | The indexOf method cannot be bound. |
636e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification error.      |
637e41f4b71Sopenharmony_ci
638e41f4b71Sopenharmony_ci**示例:**
639e41f4b71Sopenharmony_ci
640e41f4b71Sopenharmony_ci```ts
641e41f4b71Sopenharmony_cilet array = new collections.Array<string>('a', 'b', 'c');
642e41f4b71Sopenharmony_cilet index = array.indexOf('b'); // 返回1,因为'b'在索引1的位置
643e41f4b71Sopenharmony_ci```
644e41f4b71Sopenharmony_ci
645e41f4b71Sopenharmony_ci### forEach
646e41f4b71Sopenharmony_ci
647e41f4b71Sopenharmony_ciforEach(callbackFn: (value: T, index: number, array: Array\<T>) => void): void
648e41f4b71Sopenharmony_ci
649e41f4b71Sopenharmony_ci对Array中的每个元素执行提供的回调函数。
650e41f4b71Sopenharmony_ci
651e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
652e41f4b71Sopenharmony_ci
653e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
654e41f4b71Sopenharmony_ci
655e41f4b71Sopenharmony_ci**参数:**
656e41f4b71Sopenharmony_ci
657e41f4b71Sopenharmony_ci| 参数名     | 类型                                                | 必填 | 说明                           |
658e41f4b71Sopenharmony_ci| ---------- | --------------------------------------------------- | ---- | ------------------------------ |
659e41f4b71Sopenharmony_ci| callbackFn | (value: T, index: number, array: Array\<T>) => void | 是   | 用于对每个元素执行的回调函数。 |
660e41f4b71Sopenharmony_ci
661e41f4b71Sopenharmony_ci**错误码:**
662e41f4b71Sopenharmony_ci
663e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
664e41f4b71Sopenharmony_ci
665e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                            |
666e41f4b71Sopenharmony_ci| -------- | ----------------------------------- |
667e41f4b71Sopenharmony_ci| 10200011 | The forEach method cannot be bound. |
668e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification error.      |
669e41f4b71Sopenharmony_ci
670e41f4b71Sopenharmony_ci**示例:**
671e41f4b71Sopenharmony_ci
672e41f4b71Sopenharmony_ci```ts
673e41f4b71Sopenharmony_cilet array = new collections.Array<string>('a', 'b', 'c');
674e41f4b71Sopenharmony_ciarray.forEach((value, index, array) => {
675e41f4b71Sopenharmony_ci  console.info(`Element ${value} at index ${index}`);
676e41f4b71Sopenharmony_ci});
677e41f4b71Sopenharmony_ci```
678e41f4b71Sopenharmony_ci
679e41f4b71Sopenharmony_ci### map
680e41f4b71Sopenharmony_ci
681e41f4b71Sopenharmony_cimap\<U>(callbackFn: (value: T, index: number, array: Array\<T>) => U): Array\<U>
682e41f4b71Sopenharmony_ci
683e41f4b71Sopenharmony_ci对Array中的每个元素执行提供的回调函数,并返回一个新的Array,该Array包含回调函数的结果。
684e41f4b71Sopenharmony_ci
685e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
686e41f4b71Sopenharmony_ci
687e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
688e41f4b71Sopenharmony_ci
689e41f4b71Sopenharmony_ci**参数:**
690e41f4b71Sopenharmony_ci
691e41f4b71Sopenharmony_ci| 参数名     | 类型                                             | 必填 | 说明                           |
692e41f4b71Sopenharmony_ci| ---------- | ------------------------------------------------ | ---- | ------------------------------ |
693e41f4b71Sopenharmony_ci| callbackFn | (value: T, index: number, array: Array\<T>) => U | 是   | 用于对每个元素执行的回调函数。 |
694e41f4b71Sopenharmony_ci
695e41f4b71Sopenharmony_ci**返回值:**
696e41f4b71Sopenharmony_ci
697e41f4b71Sopenharmony_ci| 类型      | 说明                       |
698e41f4b71Sopenharmony_ci| --------- | -------------------------- |
699e41f4b71Sopenharmony_ci| Array\<U> | 包含回调函数结果的新Array。 |
700e41f4b71Sopenharmony_ci
701e41f4b71Sopenharmony_ci**错误码:**
702e41f4b71Sopenharmony_ci
703e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
704e41f4b71Sopenharmony_ci
705e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                        |
706e41f4b71Sopenharmony_ci| -------- | ------------------------------- |
707e41f4b71Sopenharmony_ci| 10200011 | The map method cannot be bound. |
708e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification error.  |
709e41f4b71Sopenharmony_ci
710e41f4b71Sopenharmony_ci**示例:**
711e41f4b71Sopenharmony_ci
712e41f4b71Sopenharmony_ci```ts
713e41f4b71Sopenharmony_ci// 此处将原始Array中的每个字符串元素转换为大写形式,并返回一个新Array,其中包含转换后的字符串
714e41f4b71Sopenharmony_cilet array = new collections.Array<string>('a', 'b', 'c');
715e41f4b71Sopenharmony_cilet mappedArray = array.map((value, index, array) => {
716e41f4b71Sopenharmony_ci  return value.toUpperCase(); // 将每个字符串元素转换为大写
717e41f4b71Sopenharmony_ci});
718e41f4b71Sopenharmony_ciconsole.info("" + mappedArray); // 输出: ['A', 'B', 'C']
719e41f4b71Sopenharmony_ci```
720e41f4b71Sopenharmony_ci
721e41f4b71Sopenharmony_ci### filter
722e41f4b71Sopenharmony_ci
723e41f4b71Sopenharmony_cifilter(predicate: (value: T, index: number, array: Array\<T>) => boolean): Array\<T>
724e41f4b71Sopenharmony_ci
725e41f4b71Sopenharmony_ci返回一个新Array,其中包含通过指定回调函数测试的所有元素。
726e41f4b71Sopenharmony_ci
727e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
728e41f4b71Sopenharmony_ci
729e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
730e41f4b71Sopenharmony_ci
731e41f4b71Sopenharmony_ci**参数:**
732e41f4b71Sopenharmony_ci
733e41f4b71Sopenharmony_ci| 参数名    | 类型                                                   | 必填 | 说明                                                         |
734e41f4b71Sopenharmony_ci| --------- | ------------------------------------------------------ | ---- | ------------------------------------------------------------ |
735e41f4b71Sopenharmony_ci| predicate | (value: T, index: number, array: Array\<T>) => boolean | 是   | 一个接受三个参数的函数,用于测试每个元素是否应该包含在新Array中。 |
736e41f4b71Sopenharmony_ci
737e41f4b71Sopenharmony_ci**返回值:**
738e41f4b71Sopenharmony_ci
739e41f4b71Sopenharmony_ci| 类型      | 说明                         |
740e41f4b71Sopenharmony_ci| --------- | ---------------------------- |
741e41f4b71Sopenharmony_ci| Array\<T> | 包含通过测试的元素的新Array。 |
742e41f4b71Sopenharmony_ci
743e41f4b71Sopenharmony_ci**错误码:**
744e41f4b71Sopenharmony_ci
745e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
746e41f4b71Sopenharmony_ci
747e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                           |
748e41f4b71Sopenharmony_ci| -------- | ---------------------------------- |
749e41f4b71Sopenharmony_ci| 10200011 | The filter method cannot be bound. |
750e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification error.     |
751e41f4b71Sopenharmony_ci
752e41f4b71Sopenharmony_ci**示例:**
753e41f4b71Sopenharmony_ci
754e41f4b71Sopenharmony_ci```ts
755e41f4b71Sopenharmony_cilet array = new collections.Array<number>(1, 2, 3, 4, 5);
756e41f4b71Sopenharmony_cilet filteredArray = array.filter((value : number) => value % 2 === 0); // 返回[2, 4],只包含偶数
757e41f4b71Sopenharmony_ci```
758e41f4b71Sopenharmony_ci
759e41f4b71Sopenharmony_ci### reduce
760e41f4b71Sopenharmony_ci
761e41f4b71Sopenharmony_cireduce(callbackFn: (previousValue: T, currentValue: T, currentIndex: number, array: Array\<T>) => T): T
762e41f4b71Sopenharmony_ci
763e41f4b71Sopenharmony_ci对Array中的每个元素执行回调函数,将其结果作为累加值,并返回最终的结果。
764e41f4b71Sopenharmony_ci
765e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
766e41f4b71Sopenharmony_ci
767e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
768e41f4b71Sopenharmony_ci
769e41f4b71Sopenharmony_ci**参数:**
770e41f4b71Sopenharmony_ci
771e41f4b71Sopenharmony_ci| 参数名     | 类型                                                         | 必填 | 说明                                                         |
772e41f4b71Sopenharmony_ci| ---------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
773e41f4b71Sopenharmony_ci| callbackFn | (previousValue: T, currentValue: T, currentIndex: number, array: Array\<T>) => T | 是   | 一个接受四个参数的函数,用于对每个元素执行操作,并将结果作为累加值传递给下一个元素。 |
774e41f4b71Sopenharmony_ci
775e41f4b71Sopenharmony_ci**返回值:**
776e41f4b71Sopenharmony_ci
777e41f4b71Sopenharmony_ci| 类型 | 说明                       |
778e41f4b71Sopenharmony_ci| ---- | -------------------------- |
779e41f4b71Sopenharmony_ci| T    | 回调函数执行后的最终结果。 |
780e41f4b71Sopenharmony_ci
781e41f4b71Sopenharmony_ci**错误码:**
782e41f4b71Sopenharmony_ci
783e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
784e41f4b71Sopenharmony_ci
785e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                           |
786e41f4b71Sopenharmony_ci| -------- | ---------------------------------- |
787e41f4b71Sopenharmony_ci| 10200011 | The reduce method cannot be bound. |
788e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification error.     |
789e41f4b71Sopenharmony_ci
790e41f4b71Sopenharmony_ci**示例:**
791e41f4b71Sopenharmony_ci
792e41f4b71Sopenharmony_ci```ts
793e41f4b71Sopenharmony_cilet array = new collections.Array<number>(1, 2, 3, 4, 5);
794e41f4b71Sopenharmony_cilet reducedValue = array.reduce((accumulator, value) => accumulator + value); // 返回15,累加所有元素
795e41f4b71Sopenharmony_ci```
796e41f4b71Sopenharmony_ci
797e41f4b71Sopenharmony_ci### reduce
798e41f4b71Sopenharmony_ci
799e41f4b71Sopenharmony_cireduce\<U>(callbackFn: (previousValue: U, currentValue: T, currentIndex: number, array: Array\<T>) => U, initialValue: U): U
800e41f4b71Sopenharmony_ci
801e41f4b71Sopenharmony_ci与 reduce方法类似,但它接受一个初始值作为第二个参数,用于在Array遍历开始前初始化累加器。
802e41f4b71Sopenharmony_ci
803e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
804e41f4b71Sopenharmony_ci
805e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
806e41f4b71Sopenharmony_ci
807e41f4b71Sopenharmony_ci**参数:**
808e41f4b71Sopenharmony_ci
809e41f4b71Sopenharmony_ci| 参数名       | 类型                                                         | 必填 | 说明                                                         |
810e41f4b71Sopenharmony_ci| ------------ | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
811e41f4b71Sopenharmony_ci| callbackFn   | callbackFn: (previousValue: U, currentValue: T, currentIndex: number, array: Array\<T>) => U | 是   | 一个接受四个参数的函数,用于对每个元素执行操作,并将结果作为累加值传递给下一个元素。 |
812e41f4b71Sopenharmony_ci| initialValue | U                                                            | 是   | 用于初始化累加器的值。                                       |
813e41f4b71Sopenharmony_ci
814e41f4b71Sopenharmony_ci**返回值:**
815e41f4b71Sopenharmony_ci
816e41f4b71Sopenharmony_ci| 类型 | 说明                       |
817e41f4b71Sopenharmony_ci| ---- | -------------------------- |
818e41f4b71Sopenharmony_ci| U    | 回调函数执行后的最终结果。 |
819e41f4b71Sopenharmony_ci
820e41f4b71Sopenharmony_ci**错误码:**
821e41f4b71Sopenharmony_ci
822e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
823e41f4b71Sopenharmony_ci
824e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                           |
825e41f4b71Sopenharmony_ci| -------- | ---------------------------------- |
826e41f4b71Sopenharmony_ci| 10200011 | The reduce method cannot be bound. |
827e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification error.     |
828e41f4b71Sopenharmony_ci
829e41f4b71Sopenharmony_ci**示例:**
830e41f4b71Sopenharmony_ci
831e41f4b71Sopenharmony_ci```ts
832e41f4b71Sopenharmony_ci// 此处使用一个初始值为0的累加器,并将其与Array中的每个元素相加,最终返回累加后的总和
833e41f4b71Sopenharmony_cilet array = new collections.Array(1, 2, 3, 4, 5);
834e41f4b71Sopenharmony_cilet reducedValue = array.reduce<number>((accumulator: number, value: number) => accumulator + value, 0); // 返回15,累加所有元素,初始值为0
835e41f4b71Sopenharmony_ci```
836e41f4b71Sopenharmony_ci
837e41f4b71Sopenharmony_ci### at
838e41f4b71Sopenharmony_ci
839e41f4b71Sopenharmony_ciat(index: number): T | undefined
840e41f4b71Sopenharmony_ci
841e41f4b71Sopenharmony_ci返回Array中指定索引位置的元素。
842e41f4b71Sopenharmony_ci
843e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
844e41f4b71Sopenharmony_ci
845e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
846e41f4b71Sopenharmony_ci
847e41f4b71Sopenharmony_ci**参数:**
848e41f4b71Sopenharmony_ci
849e41f4b71Sopenharmony_ci| 参数名 | 类型   | 必填 | 说明                                                         |
850e41f4b71Sopenharmony_ci| ------ | ------ | ---- | ------------------------------------------------------------ |
851e41f4b71Sopenharmony_ci| index  | number | 是   | 要返回的Array元素的索引(从零开始),取值为整数。负数索引从Array末尾开始计数,如果`index < 0`,则会访问`index + array.length`位置的元素。 |
852e41f4b71Sopenharmony_ci
853e41f4b71Sopenharmony_ci
854e41f4b71Sopenharmony_ci**返回值:**
855e41f4b71Sopenharmony_ci
856e41f4b71Sopenharmony_ci| 类型           | 说明                                                         |
857e41f4b71Sopenharmony_ci| -------------- | ------------------------------------------------------------ |
858e41f4b71Sopenharmony_ci| T \| undefined | 返回指定索引处的元素;如果索引超出范围或无效,则返回undefined。 |
859e41f4b71Sopenharmony_ci
860e41f4b71Sopenharmony_ci**错误码:**
861e41f4b71Sopenharmony_ci
862e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
863e41f4b71Sopenharmony_ci
864e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                       |
865e41f4b71Sopenharmony_ci| -------- | ------------------------------ |
866e41f4b71Sopenharmony_ci| 10200011 | The at method cannot be bound. |
867e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification error. |
868e41f4b71Sopenharmony_ci
869e41f4b71Sopenharmony_ci**示例:**
870e41f4b71Sopenharmony_ci
871e41f4b71Sopenharmony_ci```ts
872e41f4b71Sopenharmony_cilet array = new collections.Array<number>(1, 2, 3, 4, 5);
873e41f4b71Sopenharmony_cilet elementAtIndex = array.at(2); // 返回3,因为索引是从0开始的
874e41f4b71Sopenharmony_ci```
875e41f4b71Sopenharmony_ci
876e41f4b71Sopenharmony_ci### entries
877e41f4b71Sopenharmony_ci
878e41f4b71Sopenharmony_cientries(): IterableIterator<[number, T]>
879e41f4b71Sopenharmony_ci
880e41f4b71Sopenharmony_ci返回一个新的可迭代对象,该对象包含Array中每个元素的键值对。
881e41f4b71Sopenharmony_ci
882e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
883e41f4b71Sopenharmony_ci
884e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
885e41f4b71Sopenharmony_ci
886e41f4b71Sopenharmony_ci**返回值:**
887e41f4b71Sopenharmony_ci
888e41f4b71Sopenharmony_ci| 类型                          | 说明                                       |
889e41f4b71Sopenharmony_ci| ----------------------------- | ------------------------------------------ |
890e41f4b71Sopenharmony_ci| IterableIterator<[number, T]> | 包含Array中每个元素的键值对的迭代器。 |
891e41f4b71Sopenharmony_ci
892e41f4b71Sopenharmony_ci**错误码:**
893e41f4b71Sopenharmony_ci
894e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
895e41f4b71Sopenharmony_ci
896e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                            |
897e41f4b71Sopenharmony_ci| -------- | ----------------------------------- |
898e41f4b71Sopenharmony_ci| 10200011 | The entries method cannot be bound. |
899e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification error.      |
900e41f4b71Sopenharmony_ci
901e41f4b71Sopenharmony_ci**示例:**
902e41f4b71Sopenharmony_ci
903e41f4b71Sopenharmony_ci```ts
904e41f4b71Sopenharmony_cilet array = new collections.Array<number>(1, 2, 3, 4, 5);
905e41f4b71Sopenharmony_cilet iterator = array.entries();
906e41f4b71Sopenharmony_ciconsole.info(iterator.next().value); // 输出:[0, 1],第一个元素的键值对
907e41f4b71Sopenharmony_ci```
908e41f4b71Sopenharmony_ci
909e41f4b71Sopenharmony_ci### keys
910e41f4b71Sopenharmony_ci
911e41f4b71Sopenharmony_cikeys(): IterableIterator\<number>
912e41f4b71Sopenharmony_ci
913e41f4b71Sopenharmony_ci返回一个新的可迭代对象,该对象包含Array中每个元素的键。
914e41f4b71Sopenharmony_ci
915e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
916e41f4b71Sopenharmony_ci
917e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
918e41f4b71Sopenharmony_ci
919e41f4b71Sopenharmony_ci**返回值:**
920e41f4b71Sopenharmony_ci
921e41f4b71Sopenharmony_ci| 类型                      | 说明                                   |
922e41f4b71Sopenharmony_ci| ------------------------- | -------------------------------------- |
923e41f4b71Sopenharmony_ci| IterableIterator\<number> | 包含Array中每个元素的键的可迭代迭代器。 |
924e41f4b71Sopenharmony_ci
925e41f4b71Sopenharmony_ci**错误码:**
926e41f4b71Sopenharmony_ci
927e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
928e41f4b71Sopenharmony_ci
929e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                         |
930e41f4b71Sopenharmony_ci| -------- | -------------------------------- |
931e41f4b71Sopenharmony_ci| 10200011 | The keys method cannot be bound. |
932e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification error.   |
933e41f4b71Sopenharmony_ci
934e41f4b71Sopenharmony_ci**示例:**
935e41f4b71Sopenharmony_ci
936e41f4b71Sopenharmony_ci```ts
937e41f4b71Sopenharmony_cilet array = new collections.Array<number>(1, 2, 3, 4, 5);
938e41f4b71Sopenharmony_cilet iterator = array.keys();
939e41f4b71Sopenharmony_cifor (const key of iterator) {
940e41f4b71Sopenharmony_ci  console.info("" + key); // 依次输出 0,1,2,3,4
941e41f4b71Sopenharmony_ci}
942e41f4b71Sopenharmony_ci```
943e41f4b71Sopenharmony_ci
944e41f4b71Sopenharmony_ci### values
945e41f4b71Sopenharmony_ci
946e41f4b71Sopenharmony_civalues(): IterableIterator\<T>
947e41f4b71Sopenharmony_ci
948e41f4b71Sopenharmony_ci返回一个新的可迭代对象,该对象包含Array中每个元素的值。
949e41f4b71Sopenharmony_ci
950e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
951e41f4b71Sopenharmony_ci
952e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
953e41f4b71Sopenharmony_ci
954e41f4b71Sopenharmony_ci**返回值:**
955e41f4b71Sopenharmony_ci
956e41f4b71Sopenharmony_ci| 类型                 | 说明                                   |
957e41f4b71Sopenharmony_ci| -------------------- | -------------------------------------- |
958e41f4b71Sopenharmony_ci| IterableIterator\<T> | 包含Array中每个元素的值的可迭代迭代器。 |
959e41f4b71Sopenharmony_ci
960e41f4b71Sopenharmony_ci**错误码:**
961e41f4b71Sopenharmony_ci
962e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
963e41f4b71Sopenharmony_ci
964e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                           |
965e41f4b71Sopenharmony_ci| -------- | ---------------------------------- |
966e41f4b71Sopenharmony_ci| 10200011 | The values method cannot be bound. |
967e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification error.     |
968e41f4b71Sopenharmony_ci
969e41f4b71Sopenharmony_ci**示例:**
970e41f4b71Sopenharmony_ci
971e41f4b71Sopenharmony_ci```ts
972e41f4b71Sopenharmony_cilet array = new collections.Array<number>(1, 2, 3, 4, 5);
973e41f4b71Sopenharmony_cilet iterator = array.values();
974e41f4b71Sopenharmony_cifor(const value of iterator) {
975e41f4b71Sopenharmony_ci  console.info("" + value); // 依次输出 1,2,3,4,5
976e41f4b71Sopenharmony_ci}
977e41f4b71Sopenharmony_ci```
978e41f4b71Sopenharmony_ci
979e41f4b71Sopenharmony_ci### find
980e41f4b71Sopenharmony_ci
981e41f4b71Sopenharmony_cifind(predicate: (value: T, index: number, obj: Array\<T>) => boolean): T | undefined
982e41f4b71Sopenharmony_ci
983e41f4b71Sopenharmony_ci返回Array中第一个满足指定测试函数的元素的值,如果所有元素都不满足,则返回undefined。
984e41f4b71Sopenharmony_ci
985e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
986e41f4b71Sopenharmony_ci
987e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
988e41f4b71Sopenharmony_ci
989e41f4b71Sopenharmony_ci**参数:**
990e41f4b71Sopenharmony_ci
991e41f4b71Sopenharmony_ci| 参数名    | 类型                                                 | 必填 | 说明                                                   |
992e41f4b71Sopenharmony_ci| --------- | ---------------------------------------------------- | ---- | ------------------------------------------------------ |
993e41f4b71Sopenharmony_ci| predicate | (value: T, index: number, obj: Array\<T>) => boolean | 是   | 一个接受三个参数的函数,用于测试每个元素是否满足条件。 |
994e41f4b71Sopenharmony_ci
995e41f4b71Sopenharmony_ci**返回值:**
996e41f4b71Sopenharmony_ci
997e41f4b71Sopenharmony_ci| 类型           | 说明                                                         |
998e41f4b71Sopenharmony_ci| -------------- | ------------------------------------------------------------ |
999e41f4b71Sopenharmony_ci| T \| undefined | 第一个满足条件的元素的值;如果所有元素都不满足条件,则返回undefined。 |
1000e41f4b71Sopenharmony_ci
1001e41f4b71Sopenharmony_ci**错误码:**
1002e41f4b71Sopenharmony_ci
1003e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
1004e41f4b71Sopenharmony_ci
1005e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                         |
1006e41f4b71Sopenharmony_ci| -------- | -------------------------------- |
1007e41f4b71Sopenharmony_ci| 10200011 | The find method cannot be bound. |
1008e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification error.   |
1009e41f4b71Sopenharmony_ci
1010e41f4b71Sopenharmony_ci**示例:**
1011e41f4b71Sopenharmony_ci
1012e41f4b71Sopenharmony_ci```ts
1013e41f4b71Sopenharmony_cilet array = new collections.Array<number>(1, 2, 3, 4, 5);
1014e41f4b71Sopenharmony_cilet foundValue = array.find((value: number) => value % 2 === 0); // 返回2,第一个偶数元素
1015e41f4b71Sopenharmony_ci```
1016e41f4b71Sopenharmony_ci
1017e41f4b71Sopenharmony_ci### includes
1018e41f4b71Sopenharmony_ci
1019e41f4b71Sopenharmony_ciincludes(searchElement: T, fromIndex?: number): boolean
1020e41f4b71Sopenharmony_ci
1021e41f4b71Sopenharmony_ci判断Array是否包含指定的元素,并返回一个布尔值。
1022e41f4b71Sopenharmony_ci
1023e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
1024e41f4b71Sopenharmony_ci
1025e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
1026e41f4b71Sopenharmony_ci
1027e41f4b71Sopenharmony_ci**参数:**
1028e41f4b71Sopenharmony_ci
1029e41f4b71Sopenharmony_ci| 参数名        | 类型   | 必填 | 说明                        |
1030e41f4b71Sopenharmony_ci| ------------- | ------ | ---- | --------------------------- |
1031e41f4b71Sopenharmony_ci| searchElement | T      | 是   | 要搜索的元素。              |
1032e41f4b71Sopenharmony_ci| fromIndex     | number | 否   | 开始搜索的索引。默认值为0。 |
1033e41f4b71Sopenharmony_ci
1034e41f4b71Sopenharmony_ci**返回值:**
1035e41f4b71Sopenharmony_ci
1036e41f4b71Sopenharmony_ci| 类型    | 说明                                                |
1037e41f4b71Sopenharmony_ci| ------- | --------------------------------------------------- |
1038e41f4b71Sopenharmony_ci| boolean | 如果Array包含指定的元素,则返回true;否则返回false。 |
1039e41f4b71Sopenharmony_ci
1040e41f4b71Sopenharmony_ci**错误码:**
1041e41f4b71Sopenharmony_ci
1042e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
1043e41f4b71Sopenharmony_ci
1044e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                             |
1045e41f4b71Sopenharmony_ci| -------- | ------------------------------------ |
1046e41f4b71Sopenharmony_ci| 10200011 | The includes method cannot be bound. |
1047e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification error.       |
1048e41f4b71Sopenharmony_ci
1049e41f4b71Sopenharmony_ci**示例:**
1050e41f4b71Sopenharmony_ci
1051e41f4b71Sopenharmony_ci```ts
1052e41f4b71Sopenharmony_cilet array = new collections.Array<number>(1, 2, 3, 4, 5);
1053e41f4b71Sopenharmony_cilet includesResult = array.includes(3); // 返回true,因为Array中包含3
1054e41f4b71Sopenharmony_ci```
1055e41f4b71Sopenharmony_ci
1056e41f4b71Sopenharmony_ci### findIndex
1057e41f4b71Sopenharmony_ci
1058e41f4b71Sopenharmony_cifindIndex(predicate: (value: T, index: number, obj: Array\<T>) => boolean): number
1059e41f4b71Sopenharmony_ci
1060e41f4b71Sopenharmony_ci返回Array中第一个满足指定测试函数的元素的索引,如果所有元素都不满足,则返回-1。
1061e41f4b71Sopenharmony_ci
1062e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
1063e41f4b71Sopenharmony_ci
1064e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
1065e41f4b71Sopenharmony_ci
1066e41f4b71Sopenharmony_ci**参数:**
1067e41f4b71Sopenharmony_ci
1068e41f4b71Sopenharmony_ci| 参数名    | 类型                                                 | 必填 | 说明                                                   |
1069e41f4b71Sopenharmony_ci| --------- | ---------------------------------------------------- | ---- | ------------------------------------------------------ |
1070e41f4b71Sopenharmony_ci| predicate | (value: T, index: number, obj: Array\<T>) => boolean | 是   | 一个接受三个参数的函数,用于测试每个元素是否满足条件。 |
1071e41f4b71Sopenharmony_ci
1072e41f4b71Sopenharmony_ci**返回值:**
1073e41f4b71Sopenharmony_ci
1074e41f4b71Sopenharmony_ci| 类型   | 说明                                                         |
1075e41f4b71Sopenharmony_ci| ------ | ------------------------------------------------------------ |
1076e41f4b71Sopenharmony_ci| number | 第一个满足条件的元素的索引;如果所有元素都不满足条件,则返回-1。 |
1077e41f4b71Sopenharmony_ci
1078e41f4b71Sopenharmony_ci**错误码:**
1079e41f4b71Sopenharmony_ci
1080e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
1081e41f4b71Sopenharmony_ci
1082e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                              |
1083e41f4b71Sopenharmony_ci| -------- | ------------------------------------- |
1084e41f4b71Sopenharmony_ci| 10200011 | The findIndex method cannot be bound. |
1085e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification error.        |
1086e41f4b71Sopenharmony_ci
1087e41f4b71Sopenharmony_ci**示例:**
1088e41f4b71Sopenharmony_ci
1089e41f4b71Sopenharmony_ci```ts
1090e41f4b71Sopenharmony_cilet array = new collections.Array<number>(1, 2, 3, 4, 5);
1091e41f4b71Sopenharmony_cilet foundIndex = array.findIndex((value: number) => value % 2 === 0); // 返回1,因为2是第一个偶数元素
1092e41f4b71Sopenharmony_ci```
1093e41f4b71Sopenharmony_ci
1094e41f4b71Sopenharmony_ci### fill
1095e41f4b71Sopenharmony_ci
1096e41f4b71Sopenharmony_cifill(value: T, start?: number, end?: number): Array\<T>
1097e41f4b71Sopenharmony_ci
1098e41f4b71Sopenharmony_ci使用指定的值填充Array中指定范围的所有元素。
1099e41f4b71Sopenharmony_ci
1100e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
1101e41f4b71Sopenharmony_ci
1102e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
1103e41f4b71Sopenharmony_ci
1104e41f4b71Sopenharmony_ci**参数:**
1105e41f4b71Sopenharmony_ci
1106e41f4b71Sopenharmony_ci| 参数名 | 类型   | 必填 | 说明                                                   |
1107e41f4b71Sopenharmony_ci| ------ | ------ | ---- | ------------------------------------------------------ |
1108e41f4b71Sopenharmony_ci| value  | T      | 是   | 要填充的值。                                           |
1109e41f4b71Sopenharmony_ci| start  | number | 否   | 开始填充的索引。默认值为0。                            |
1110e41f4b71Sopenharmony_ci| end    | number | 否   | 结束填充的索引(不包括该元素)。如果省略,则填充到Array的最后一个元素。 |
1111e41f4b71Sopenharmony_ci
1112e41f4b71Sopenharmony_ci**返回值:**
1113e41f4b71Sopenharmony_ci
1114e41f4b71Sopenharmony_ci| 类型      | 说明           |
1115e41f4b71Sopenharmony_ci| --------- | -------------- |
1116e41f4b71Sopenharmony_ci| Array\<T> | 填充后的Array。 |
1117e41f4b71Sopenharmony_ci
1118e41f4b71Sopenharmony_ci**错误码:**
1119e41f4b71Sopenharmony_ci
1120e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
1121e41f4b71Sopenharmony_ci
1122e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                         |
1123e41f4b71Sopenharmony_ci| -------- | -------------------------------- |
1124e41f4b71Sopenharmony_ci| 10200011 | The fill method cannot be bound. |
1125e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification error.   |
1126e41f4b71Sopenharmony_ci
1127e41f4b71Sopenharmony_ci**示例:**
1128e41f4b71Sopenharmony_ci
1129e41f4b71Sopenharmony_ci```ts
1130e41f4b71Sopenharmony_cilet array = new collections.Array(1, 2, 3, 4, 5);
1131e41f4b71Sopenharmony_ciarray.fill(0, 1, 3); // 返回[1, 0, 0, 4, 5],因为1到3的索引范围内的元素被替换为0
1132e41f4b71Sopenharmony_ci```
1133e41f4b71Sopenharmony_ci
1134e41f4b71Sopenharmony_ci### shrinkTo
1135e41f4b71Sopenharmony_ci
1136e41f4b71Sopenharmony_cishrinkTo(arrayLength: number): void
1137e41f4b71Sopenharmony_ci
1138e41f4b71Sopenharmony_ci使Array收缩到指定长度。
1139e41f4b71Sopenharmony_ci
1140e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
1141e41f4b71Sopenharmony_ci
1142e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
1143e41f4b71Sopenharmony_ci
1144e41f4b71Sopenharmony_ci**参数:**
1145e41f4b71Sopenharmony_ci
1146e41f4b71Sopenharmony_ci| 参数名 | 类型   | 必填 | 说明                                                   |
1147e41f4b71Sopenharmony_ci| ------ | ------ | ---- | ------------------------------------------------------ |
1148e41f4b71Sopenharmony_ci| arrayLength  | number  | 是   | Array的新长度。如果arrayLength >= array.length,则Array不变。 |
1149e41f4b71Sopenharmony_ci
1150e41f4b71Sopenharmony_ci**错误码:**
1151e41f4b71Sopenharmony_ci
1152e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
1153e41f4b71Sopenharmony_ci
1154e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                         |
1155e41f4b71Sopenharmony_ci| -------- | -------------------------------- |
1156e41f4b71Sopenharmony_ci| 10200011 | The shrinkTo method cannot be bound. |
1157e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification error.   |
1158e41f4b71Sopenharmony_ci
1159e41f4b71Sopenharmony_ci**示例:**
1160e41f4b71Sopenharmony_ci
1161e41f4b71Sopenharmony_ci```ts
1162e41f4b71Sopenharmony_cilet array1 = new collections.Array(1, 2, 3, 4, 5);
1163e41f4b71Sopenharmony_ciarray1.shrinkTo(1); // array内容变为:[1]
1164e41f4b71Sopenharmony_ci
1165e41f4b71Sopenharmony_cilet array2 = new collections.Array(1, 2, 3, 4, 5);
1166e41f4b71Sopenharmony_ciarray2.shrinkTo(10); // array内容不变
1167e41f4b71Sopenharmony_ci```
1168e41f4b71Sopenharmony_ci
1169e41f4b71Sopenharmony_ci### extendTo
1170e41f4b71Sopenharmony_ci
1171e41f4b71Sopenharmony_ciextendTo(arrayLength: number, initialValue: T): void
1172e41f4b71Sopenharmony_ci
1173e41f4b71Sopenharmony_ci使Array扩展到指定长度,扩展的部分使用给定值填充。
1174e41f4b71Sopenharmony_ci
1175e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
1176e41f4b71Sopenharmony_ci
1177e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
1178e41f4b71Sopenharmony_ci
1179e41f4b71Sopenharmony_ci**参数:**
1180e41f4b71Sopenharmony_ci
1181e41f4b71Sopenharmony_ci| 参数名 | 类型   | 必填 | 说明                                                   |
1182e41f4b71Sopenharmony_ci| ------ | ------ | ---- | ------------------------------------------------------ |
1183e41f4b71Sopenharmony_ci| arrayLength  | number  | 是   | Array的新长度。如果arrayLength <= array.length,则Array不变。 |
1184e41f4b71Sopenharmony_ci| initialValue  | T  | 是   | 扩展的部分的填充值。 |
1185e41f4b71Sopenharmony_ci
1186e41f4b71Sopenharmony_ci**错误码:**
1187e41f4b71Sopenharmony_ci
1188e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
1189e41f4b71Sopenharmony_ci
1190e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                         |
1191e41f4b71Sopenharmony_ci| -------- | -------------------------------- |
1192e41f4b71Sopenharmony_ci| 10200011 | The extendTo method cannot be bound. |
1193e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification error.   |
1194e41f4b71Sopenharmony_ci
1195e41f4b71Sopenharmony_ci**示例:**
1196e41f4b71Sopenharmony_ci
1197e41f4b71Sopenharmony_ci```ts
1198e41f4b71Sopenharmony_cilet array1 = new collections.Array(1, 2, 3);
1199e41f4b71Sopenharmony_ciarray1.extendTo(5, 10); // array内容变为:[1, 2, 3, 10, 10]
1200e41f4b71Sopenharmony_ci
1201e41f4b71Sopenharmony_cilet array2 = new collections.Array(1, 2, 3);
1202e41f4b71Sopenharmony_ciarray2.extendTo(1, 10); // array内容不变
1203e41f4b71Sopenharmony_ci```
1204e41f4b71Sopenharmony_ci
1205e41f4b71Sopenharmony_ci### concat
1206e41f4b71Sopenharmony_ci
1207e41f4b71Sopenharmony_ciconcat(...items: ConcatArray\<T>[]): Array\<T>
1208e41f4b71Sopenharmony_ci
1209e41f4b71Sopenharmony_ci拼接两个或多个数组。
1210e41f4b71Sopenharmony_ci
1211e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
1212e41f4b71Sopenharmony_ci
1213e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
1214e41f4b71Sopenharmony_ci
1215e41f4b71Sopenharmony_ci**参数:**
1216e41f4b71Sopenharmony_ci
1217e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明                               |
1218e41f4b71Sopenharmony_ci| ------ | ---- | ---- | ---------------------------------- |
1219e41f4b71Sopenharmony_ci| items  | ConcatArray\<T>[]  | 是   | 拼接两个或多个数组。 |
1220e41f4b71Sopenharmony_ci
1221e41f4b71Sopenharmony_ci**返回值:**
1222e41f4b71Sopenharmony_ci
1223e41f4b71Sopenharmony_ci| 类型 | 说明                               |
1224e41f4b71Sopenharmony_ci| ---- | ---------------------------------- |
1225e41f4b71Sopenharmony_ci| Array\<T>  | 拼接后的数组。 |
1226e41f4b71Sopenharmony_ci
1227e41f4b71Sopenharmony_ci**错误码:**
1228e41f4b71Sopenharmony_ci
1229e41f4b71Sopenharmony_ci以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。
1230e41f4b71Sopenharmony_ci
1231e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                         |
1232e41f4b71Sopenharmony_ci| ------- | -------- |
1233e41f4b71Sopenharmony_ci| 401 |  Parameter error. Not a valid array. |
1234e41f4b71Sopenharmony_ci| 10200011 | The concat method cannot be bound. |
1235e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification error.   |
1236e41f4b71Sopenharmony_ci
1237e41f4b71Sopenharmony_ci**示例:**
1238e41f4b71Sopenharmony_ci
1239e41f4b71Sopenharmony_ci```ts
1240e41f4b71Sopenharmony_cilet array = new collections.Array(1, 2, 3);
1241e41f4b71Sopenharmony_cilet array1 = new collections.Array(4, 5, 6);
1242e41f4b71Sopenharmony_cilet array2 = new collections.Array(7, 8, 9);
1243e41f4b71Sopenharmony_ci
1244e41f4b71Sopenharmony_cilet concatArray = array.concat(array1, array2); // concatArray的内容为:[1, 2, 3, 4, 5, 6, 7, 8, 9]
1245e41f4b71Sopenharmony_ci```
1246e41f4b71Sopenharmony_ci
1247e41f4b71Sopenharmony_ci### splice
1248e41f4b71Sopenharmony_ci
1249e41f4b71Sopenharmony_cisplice(start: number): Array\<T>
1250e41f4b71Sopenharmony_ci
1251e41f4b71Sopenharmony_ci删除Array中指定位置的元素。
1252e41f4b71Sopenharmony_ci
1253e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
1254e41f4b71Sopenharmony_ci
1255e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
1256e41f4b71Sopenharmony_ci
1257e41f4b71Sopenharmony_ci**参数:**
1258e41f4b71Sopenharmony_ci
1259e41f4b71Sopenharmony_ci| 参数名 | 类型  | 必填 | 说明                                                                |
1260e41f4b71Sopenharmony_ci| ----- | ------ | -- | ------------------------------------------------------------------- |
1261e41f4b71Sopenharmony_ci| start | number | 是 | 开始索引。如果`-array.length =< start < 0`,从`start + array.length`开始,如果`start < -array.length`,则从0开始。 |
1262e41f4b71Sopenharmony_ci
1263e41f4b71Sopenharmony_ci**返回值:**
1264e41f4b71Sopenharmony_ci
1265e41f4b71Sopenharmony_ci| 类型      | 说明                   |
1266e41f4b71Sopenharmony_ci| --------- | --------------------- |
1267e41f4b71Sopenharmony_ci| Array\<T> | 返回一个新的包含被删除元素的Array对象。如果没有元素被删除,返回一个空的Array对象。 |
1268e41f4b71Sopenharmony_ci
1269e41f4b71Sopenharmony_ci**错误码:**
1270e41f4b71Sopenharmony_ci
1271e41f4b71Sopenharmony_ci以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。
1272e41f4b71Sopenharmony_ci
1273e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                            |
1274e41f4b71Sopenharmony_ci| -------- | ---------------------------------- |
1275e41f4b71Sopenharmony_ci| 401      | Parameter error. Possible causes:<br/>1.Mandatory parameters are left unspecified;<br/>2.Incorrect parameter types. |
1276e41f4b71Sopenharmony_ci| 10200011 | The splice method cannot be bound. |
1277e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification error.     |
1278e41f4b71Sopenharmony_ci
1279e41f4b71Sopenharmony_ci**示例:**
1280e41f4b71Sopenharmony_ci
1281e41f4b71Sopenharmony_ci```ts
1282e41f4b71Sopenharmony_cilet array = new collections.Array<number>(1, 2, 3, 4, 5);
1283e41f4b71Sopenharmony_cilet removeArray = array.splice(2); // array内容变为[1, 2],返回[3, 4, 5]
1284e41f4b71Sopenharmony_ci```
1285e41f4b71Sopenharmony_ci
1286e41f4b71Sopenharmony_ci### splice
1287e41f4b71Sopenharmony_ci
1288e41f4b71Sopenharmony_cisplice(start: number, deleteCount: number, ...items: T[]): Array\<T>
1289e41f4b71Sopenharmony_ci
1290e41f4b71Sopenharmony_ci删除Array中指定位置的元素,需要时在Array的指定位置插入新元素。
1291e41f4b71Sopenharmony_ci
1292e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
1293e41f4b71Sopenharmony_ci
1294e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
1295e41f4b71Sopenharmony_ci
1296e41f4b71Sopenharmony_ci**参数:**
1297e41f4b71Sopenharmony_ci
1298e41f4b71Sopenharmony_ci| 参数名       | 类型   | 必填 | 说明                                                                |
1299e41f4b71Sopenharmony_ci| ----------- | ------ | --  | ------------------------------------------------------------------- |
1300e41f4b71Sopenharmony_ci| start       | number | 是  | 开始索引。如果`-array.length =< start < 0`,从`start + array.length`开始,如果`start < -array.length`,则从0开始。 |
1301e41f4b71Sopenharmony_ci| deleteCount | number | 是  | 删除元素的个数。                                                      |
1302e41f4b71Sopenharmony_ci| items       | T[]    | 否  | 从`start`位置开始插入的新元素。如果省略,仅删除Array内的指定元素。        |
1303e41f4b71Sopenharmony_ci
1304e41f4b71Sopenharmony_ci**返回值:**
1305e41f4b71Sopenharmony_ci
1306e41f4b71Sopenharmony_ci| 类型      | 说明                                  |
1307e41f4b71Sopenharmony_ci| --------- | ------------------------------------ |
1308e41f4b71Sopenharmony_ci| Array\<T> | 返回一个新的包含被删除元素的Array对象。如果没有元素被删除,返回一个空的Array对象。 |
1309e41f4b71Sopenharmony_ci
1310e41f4b71Sopenharmony_ci**错误码:**
1311e41f4b71Sopenharmony_ci
1312e41f4b71Sopenharmony_ci以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。
1313e41f4b71Sopenharmony_ci
1314e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                            |
1315e41f4b71Sopenharmony_ci| -------- | ---------------------------------- |
1316e41f4b71Sopenharmony_ci| 401      | Parameter error. Possible causes:<br/>1.Mandatory parameters are left unspecified;<br/>2.Incorrect parameter types. |
1317e41f4b71Sopenharmony_ci| 10200011 | The splice method cannot be bound. |
1318e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification error.     |
1319e41f4b71Sopenharmony_ci
1320e41f4b71Sopenharmony_ci**示例:**
1321e41f4b71Sopenharmony_ci
1322e41f4b71Sopenharmony_ci```ts
1323e41f4b71Sopenharmony_ci// 例1:
1324e41f4b71Sopenharmony_cilet array = new collections.Array<number>(1, 2, 3, 4, 5);
1325e41f4b71Sopenharmony_cilet removeArray = array.splice(2, 2); // array内容变为[1, 2, 5],返回[3, 4]
1326e41f4b71Sopenharmony_ci```
1327e41f4b71Sopenharmony_ci
1328e41f4b71Sopenharmony_ci```ts
1329e41f4b71Sopenharmony_ci// 例2:
1330e41f4b71Sopenharmony_cilet array = new collections.Array<number>(1, 2, 3, 4, 5);
1331e41f4b71Sopenharmony_cilet removeArray = array.splice(2, 2, 6, 7, 8); // array内容变为[1, 2, 6, 7, 8, 5],返回[3, 4]
1332e41f4b71Sopenharmony_ci```
1333e41f4b71Sopenharmony_ci
1334e41f4b71Sopenharmony_ci### [Symbol.iterator]
1335e41f4b71Sopenharmony_ci
1336e41f4b71Sopenharmony_ci[Symbol.iterator]\(): IterableIterator&lt;T&gt;
1337e41f4b71Sopenharmony_ci
1338e41f4b71Sopenharmony_ci返回一个迭代器,迭代器的每一项都是一个 JavaScript 对象,并返回该对象。
1339e41f4b71Sopenharmony_ci
1340e41f4b71Sopenharmony_ci> **说明:**
1341e41f4b71Sopenharmony_ci>
1342e41f4b71Sopenharmony_ci> 本接口不支持在.ets文件中使用。
1343e41f4b71Sopenharmony_ci
1344e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
1345e41f4b71Sopenharmony_ci
1346e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
1347e41f4b71Sopenharmony_ci
1348e41f4b71Sopenharmony_ci**返回值:**
1349e41f4b71Sopenharmony_ci
1350e41f4b71Sopenharmony_ci| 类型                      | 说明             |
1351e41f4b71Sopenharmony_ci| ------------------------- | ---------------- |
1352e41f4b71Sopenharmony_ci| IterableIterator&lt;T&gt; | 返回一个迭代器。 |
1353e41f4b71Sopenharmony_ci
1354e41f4b71Sopenharmony_ci**错误码:**
1355e41f4b71Sopenharmony_ci
1356e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
1357e41f4b71Sopenharmony_ci
1358e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                    |
1359e41f4b71Sopenharmony_ci| -------- | ------------------------------------------- |
1360e41f4b71Sopenharmony_ci| 10200011 | The Symbol.iterator method cannot be bound. |
1361e41f4b71Sopenharmony_ci
1362e41f4b71Sopenharmony_ci**示例:**
1363e41f4b71Sopenharmony_ci
1364e41f4b71Sopenharmony_ci```ts
1365e41f4b71Sopenharmony_cilet array= new collections.Array<number>(1, 2, 3, 4);
1366e41f4b71Sopenharmony_ci
1367e41f4b71Sopenharmony_cifor (let item of array) {
1368e41f4b71Sopenharmony_ci  console.info(`value : ${item}`);
1369e41f4b71Sopenharmony_ci}
1370e41f4b71Sopenharmony_ci```
1371e41f4b71Sopenharmony_ci
1372e41f4b71Sopenharmony_ci### [index: number]
1373e41f4b71Sopenharmony_ci
1374e41f4b71Sopenharmony_ci&#91;index: number&#93;: T
1375e41f4b71Sopenharmony_ci
1376e41f4b71Sopenharmony_ci返回Array指定索引位置的元素。
1377e41f4b71Sopenharmony_ci
1378e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
1379e41f4b71Sopenharmony_ci
1380e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
1381e41f4b71Sopenharmony_ci
1382e41f4b71Sopenharmony_ci| 参数名    | 类型   | 必填 | 说明                                                            |
1383e41f4b71Sopenharmony_ci| ----- | ------ | ---- | ------------------------------------------------------------------ |
1384e41f4b71Sopenharmony_ci| index | number | 是   | 所需代码单元的从零开始的索引。当index<0 或者index>=length,则会抛出错误。 |
1385e41f4b71Sopenharmony_ci
1386e41f4b71Sopenharmony_ci**返回值:**
1387e41f4b71Sopenharmony_ci
1388e41f4b71Sopenharmony_ci| 类型   | 说明                     |
1389e41f4b71Sopenharmony_ci| ----- | ------------------------ |
1390e41f4b71Sopenharmony_ci|   T   | Array给定的元素数据类型。  |
1391e41f4b71Sopenharmony_ci
1392e41f4b71Sopenharmony_ci**错误码**:
1393e41f4b71Sopenharmony_ci
1394e41f4b71Sopenharmony_ci以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。
1395e41f4b71Sopenharmony_ci
1396e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                             |
1397e41f4b71Sopenharmony_ci| ------- | ------------------------------------ |
1398e41f4b71Sopenharmony_ci| 401 |        Parameter error.                  |
1399e41f4b71Sopenharmony_ci| 10200001 | The value of index is out of range. |
1400e41f4b71Sopenharmony_ci
1401e41f4b71Sopenharmony_ci**示例:**
1402e41f4b71Sopenharmony_ci
1403e41f4b71Sopenharmony_ci```ts
1404e41f4b71Sopenharmony_cilet array = new collections.Array<number>(1, 2, 4);
1405e41f4b71Sopenharmony_ciconsole.info("Element at index 1: ", array[1]);
1406e41f4b71Sopenharmony_ci```
1407e41f4b71Sopenharmony_ci
1408e41f4b71Sopenharmony_ci## collections.Map
1409e41f4b71Sopenharmony_ci
1410e41f4b71Sopenharmony_ci一种非线性数据结构。
1411e41f4b71Sopenharmony_ci
1412e41f4b71Sopenharmony_ci文档中存在泛型的使用,涉及以下泛型标记符:
1413e41f4b71Sopenharmony_ci
1414e41f4b71Sopenharmony_ci- K:Key,键
1415e41f4b71Sopenharmony_ci- V:Value,值
1416e41f4b71Sopenharmony_ci
1417e41f4b71Sopenharmony_ciK和V类型都需为[Sendable类型](../../arkts-utils/sendable-overview.md)。
1418e41f4b71Sopenharmony_ci
1419e41f4b71Sopenharmony_ci### 属性
1420e41f4b71Sopenharmony_ci
1421e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
1422e41f4b71Sopenharmony_ci
1423e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
1424e41f4b71Sopenharmony_ci
1425e41f4b71Sopenharmony_ci| 名称 | 类型   | 只读 | 可选 | 说明            |
1426e41f4b71Sopenharmony_ci| ---- | ------ | ---- | ---- | --------------- |
1427e41f4b71Sopenharmony_ci| size | number | 是   | 否   | Map的元素个数。 |
1428e41f4b71Sopenharmony_ci
1429e41f4b71Sopenharmony_ci
1430e41f4b71Sopenharmony_ci### constructor
1431e41f4b71Sopenharmony_ciconstructor(entries?: readonly (readonly [K, V])[] | null)
1432e41f4b71Sopenharmony_ci
1433e41f4b71Sopenharmony_ci构造函数,用于创建ArkTS Map对象。
1434e41f4b71Sopenharmony_ci
1435e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
1436e41f4b71Sopenharmony_ci
1437e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
1438e41f4b71Sopenharmony_ci
1439e41f4b71Sopenharmony_ci**参数:**
1440e41f4b71Sopenharmony_ci
1441e41f4b71Sopenharmony_ci| 参数名  | 类型   | 必填 | 说明                                                         |
1442e41f4b71Sopenharmony_ci| ------- | ------ | ---- | ------------------------------------------------------------ |
1443e41f4b71Sopenharmony_ci| entries | [K, V][] \| null | 否   | 键值对数组或其它可迭代对象。默认值为null,创建一个空Map对象。 |
1444e41f4b71Sopenharmony_ci
1445e41f4b71Sopenharmony_ci**错误码:**
1446e41f4b71Sopenharmony_ci
1447e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
1448e41f4b71Sopenharmony_ci
1449e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                                |
1450e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------------- |
1451e41f4b71Sopenharmony_ci| 10200012 | The ArkTS Map's constructor cannot be directly invoked. |
1452e41f4b71Sopenharmony_ci
1453e41f4b71Sopenharmony_ci**示例:**
1454e41f4b71Sopenharmony_ci
1455e41f4b71Sopenharmony_ci```ts
1456e41f4b71Sopenharmony_ci// 正例1:
1457e41f4b71Sopenharmony_ciconst myMap = new collections.Map<number, number>();
1458e41f4b71Sopenharmony_ci```
1459e41f4b71Sopenharmony_ci
1460e41f4b71Sopenharmony_ci```ts
1461e41f4b71Sopenharmony_ci// 正例2:
1462e41f4b71Sopenharmony_ciconst myMap = new collections.Map<number, string>([
1463e41f4b71Sopenharmony_ci  [1, "one"],
1464e41f4b71Sopenharmony_ci  [2, "two"],
1465e41f4b71Sopenharmony_ci  [3, "three"],
1466e41f4b71Sopenharmony_ci]);
1467e41f4b71Sopenharmony_ci```
1468e41f4b71Sopenharmony_ci
1469e41f4b71Sopenharmony_ci<!--code_no_check-->
1470e41f4b71Sopenharmony_ci```ts
1471e41f4b71Sopenharmony_ci// 反例:
1472e41f4b71Sopenharmony_ci@Sendable
1473e41f4b71Sopenharmony_ciclass SharedClass {
1474e41f4b71Sopenharmony_ci  constructor() {
1475e41f4b71Sopenharmony_ci  }
1476e41f4b71Sopenharmony_ci}
1477e41f4b71Sopenharmony_cilet sObj = new SharedClass();
1478e41f4b71Sopenharmony_ciconst myMap1: collections.Map<number, SharedClass> = new collections.Map<number, SharedClass>([[1, sObj]]);
1479e41f4b71Sopenharmony_ci// Type arguments of generic "Sendable" type must be a "Sendable" data type (arkts-sendable-generic-types)
1480e41f4b71Sopenharmony_cilet obj = new Object();
1481e41f4b71Sopenharmony_ciconst myMap2: collections.Map<number, Object> = new collections.Map<number, Object>([[1, obj]]);
1482e41f4b71Sopenharmony_ci```
1483e41f4b71Sopenharmony_ci
1484e41f4b71Sopenharmony_ci### entries
1485e41f4b71Sopenharmony_cientries(): IterableIterator<[K, V]>
1486e41f4b71Sopenharmony_ci
1487e41f4b71Sopenharmony_ci返回一个Map迭代器对象,该对象包含了此Map中的每个元素的[key, value]对。
1488e41f4b71Sopenharmony_ci
1489e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
1490e41f4b71Sopenharmony_ci
1491e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
1492e41f4b71Sopenharmony_ci
1493e41f4b71Sopenharmony_ci**返回值:**
1494e41f4b71Sopenharmony_ci
1495e41f4b71Sopenharmony_ci| 类型                           | 说明                    |
1496e41f4b71Sopenharmony_ci| ------------------------------ | ----------------------- |
1497e41f4b71Sopenharmony_ci| IterableIterator&lt;[K, V]&gt; | 返回一个Map迭代器对象。 |
1498e41f4b71Sopenharmony_ci
1499e41f4b71Sopenharmony_ci**错误码:**
1500e41f4b71Sopenharmony_ci
1501e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
1502e41f4b71Sopenharmony_ci
1503e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                              |
1504e41f4b71Sopenharmony_ci| -------- | ----------------------------------------------------- |
1505e41f4b71Sopenharmony_ci| 10200011 | The entries method cannot be bound with non-sendable. |
1506e41f4b71Sopenharmony_ci
1507e41f4b71Sopenharmony_ci**示例:**
1508e41f4b71Sopenharmony_ci
1509e41f4b71Sopenharmony_ci```ts
1510e41f4b71Sopenharmony_ci// 例1:
1511e41f4b71Sopenharmony_ciconst myMap = new collections.Map<number, string>([
1512e41f4b71Sopenharmony_ci  [0, "foo"],
1513e41f4b71Sopenharmony_ci  [1, "bar"]
1514e41f4b71Sopenharmony_ci]);
1515e41f4b71Sopenharmony_ci
1516e41f4b71Sopenharmony_ciconst iterator = myMap.entries();
1517e41f4b71Sopenharmony_ci// Expected output: [0, "foo"]
1518e41f4b71Sopenharmony_ciconsole.info(iterator.next().value);
1519e41f4b71Sopenharmony_ci// Expected output: [1, "bar"]
1520e41f4b71Sopenharmony_ciconsole.info(iterator.next().value);
1521e41f4b71Sopenharmony_ci```
1522e41f4b71Sopenharmony_ci
1523e41f4b71Sopenharmony_ci```ts
1524e41f4b71Sopenharmony_ci// 例2:
1525e41f4b71Sopenharmony_ciconst myMap: collections.Map<number, string> = new collections.Map<number, string>([
1526e41f4b71Sopenharmony_ci  [0, "one"],
1527e41f4b71Sopenharmony_ci  [1, "two"],
1528e41f4b71Sopenharmony_ci  [2, "three"],
1529e41f4b71Sopenharmony_ci  [3, "four"]
1530e41f4b71Sopenharmony_ci]);
1531e41f4b71Sopenharmony_ciconst entriesIter: IterableIterator<[number, string]> = myMap.entries();
1532e41f4b71Sopenharmony_cifor (const entry of entriesIter) {
1533e41f4b71Sopenharmony_ci  if (entry[1].startsWith('t')) {
1534e41f4b71Sopenharmony_ci    myMap.delete(entry[0]);
1535e41f4b71Sopenharmony_ci  }
1536e41f4b71Sopenharmony_ci}
1537e41f4b71Sopenharmony_ci// Expected output: 2
1538e41f4b71Sopenharmony_ciconsole.info("size:" + myMap.size);
1539e41f4b71Sopenharmony_ci```
1540e41f4b71Sopenharmony_ci
1541e41f4b71Sopenharmony_ci### keys
1542e41f4b71Sopenharmony_cikeys(): IterableIterator\<K>
1543e41f4b71Sopenharmony_ci
1544e41f4b71Sopenharmony_ci返回一个Map迭代器对象,该对象包含了此Map中每个元素的键。
1545e41f4b71Sopenharmony_ci
1546e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
1547e41f4b71Sopenharmony_ci
1548e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
1549e41f4b71Sopenharmony_ci
1550e41f4b71Sopenharmony_ci**返回值:**
1551e41f4b71Sopenharmony_ci
1552e41f4b71Sopenharmony_ci| 类型                      | 说明                    |
1553e41f4b71Sopenharmony_ci| ------------------------- | ----------------------- |
1554e41f4b71Sopenharmony_ci| IterableIterator&lt;K&gt; | 返回一个Map迭代器对象。 |
1555e41f4b71Sopenharmony_ci
1556e41f4b71Sopenharmony_ci**错误码:**
1557e41f4b71Sopenharmony_ci
1558e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
1559e41f4b71Sopenharmony_ci
1560e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                           |
1561e41f4b71Sopenharmony_ci| -------- | -------------------------------------------------- |
1562e41f4b71Sopenharmony_ci| 10200011 | The keys method cannot be bound with non-sendable. |
1563e41f4b71Sopenharmony_ci
1564e41f4b71Sopenharmony_ci**示例:**
1565e41f4b71Sopenharmony_ci
1566e41f4b71Sopenharmony_ci```ts
1567e41f4b71Sopenharmony_ciconst myMap = new collections.Map<number, string>([
1568e41f4b71Sopenharmony_ci  [0, "foo"],
1569e41f4b71Sopenharmony_ci  [1, "bar"]
1570e41f4b71Sopenharmony_ci]);
1571e41f4b71Sopenharmony_ci
1572e41f4b71Sopenharmony_ciconst iterator = myMap.keys();
1573e41f4b71Sopenharmony_ci// Expected output: 0
1574e41f4b71Sopenharmony_ciconsole.info(iterator.next().value);
1575e41f4b71Sopenharmony_ci// Expected output: 1
1576e41f4b71Sopenharmony_ciconsole.info(iterator.next().value);
1577e41f4b71Sopenharmony_ci```
1578e41f4b71Sopenharmony_ci
1579e41f4b71Sopenharmony_ci### values
1580e41f4b71Sopenharmony_civalues(): IterableIterator\<V>
1581e41f4b71Sopenharmony_ci
1582e41f4b71Sopenharmony_ci返回一个Map迭代器对象,该对象包含此Map中每个元素的值。
1583e41f4b71Sopenharmony_ci
1584e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
1585e41f4b71Sopenharmony_ci
1586e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
1587e41f4b71Sopenharmony_ci
1588e41f4b71Sopenharmony_ci**返回值:**
1589e41f4b71Sopenharmony_ci
1590e41f4b71Sopenharmony_ci| 类型                      | 说明                    |
1591e41f4b71Sopenharmony_ci| ------------------------- | ----------------------- |
1592e41f4b71Sopenharmony_ci| IterableIterator&lt;V&gt; | 返回一个Map迭代器对象。 |
1593e41f4b71Sopenharmony_ci
1594e41f4b71Sopenharmony_ci**错误码:**
1595e41f4b71Sopenharmony_ci
1596e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
1597e41f4b71Sopenharmony_ci
1598e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                             |
1599e41f4b71Sopenharmony_ci| -------- | ---------------------------------------------------- |
1600e41f4b71Sopenharmony_ci| 10200011 | The values method cannot be bound with non-sendable. |
1601e41f4b71Sopenharmony_ci
1602e41f4b71Sopenharmony_ci**示例:**
1603e41f4b71Sopenharmony_ci
1604e41f4b71Sopenharmony_ci```ts
1605e41f4b71Sopenharmony_ciconst myMap = new collections.Map<number, string>([
1606e41f4b71Sopenharmony_ci  [0, "foo"],
1607e41f4b71Sopenharmony_ci  [1, "bar"]
1608e41f4b71Sopenharmony_ci]);
1609e41f4b71Sopenharmony_ci
1610e41f4b71Sopenharmony_ciconst iterator = myMap.values();
1611e41f4b71Sopenharmony_ci// Expected output: "foo"
1612e41f4b71Sopenharmony_ciconsole.info(iterator.next().value);
1613e41f4b71Sopenharmony_ci// Expected output: "bar"
1614e41f4b71Sopenharmony_ciconsole.info(iterator.next().value);
1615e41f4b71Sopenharmony_ci```
1616e41f4b71Sopenharmony_ci
1617e41f4b71Sopenharmony_ci### clear
1618e41f4b71Sopenharmony_ciclear(): void
1619e41f4b71Sopenharmony_ci
1620e41f4b71Sopenharmony_ci删除该Map中的所有元素。
1621e41f4b71Sopenharmony_ci
1622e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
1623e41f4b71Sopenharmony_ci
1624e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
1625e41f4b71Sopenharmony_ci
1626e41f4b71Sopenharmony_ci**错误码:**
1627e41f4b71Sopenharmony_ci
1628e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
1629e41f4b71Sopenharmony_ci
1630e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                            |
1631e41f4b71Sopenharmony_ci| -------- | --------------------------------------------------- |
1632e41f4b71Sopenharmony_ci| 10200011 | The clear method cannot be bound with non-sendable. |
1633e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification exception.                  |
1634e41f4b71Sopenharmony_ci
1635e41f4b71Sopenharmony_ci**示例:**
1636e41f4b71Sopenharmony_ci
1637e41f4b71Sopenharmony_ci```ts
1638e41f4b71Sopenharmony_ciconst myMap = new collections.Map<number, string>([
1639e41f4b71Sopenharmony_ci  [0, "foo"],
1640e41f4b71Sopenharmony_ci  [1, "bar"]
1641e41f4b71Sopenharmony_ci]);
1642e41f4b71Sopenharmony_ci// Expected output: 2
1643e41f4b71Sopenharmony_ciconsole.info("size:" + myMap.size);
1644e41f4b71Sopenharmony_cimyMap.clear();
1645e41f4b71Sopenharmony_ci// Expected output: 0
1646e41f4b71Sopenharmony_ciconsole.info("size:" + myMap.size);
1647e41f4b71Sopenharmony_ci```
1648e41f4b71Sopenharmony_ci
1649e41f4b71Sopenharmony_ci### delete
1650e41f4b71Sopenharmony_cidelete(key: K): boolean
1651e41f4b71Sopenharmony_ci
1652e41f4b71Sopenharmony_ci删除该Map中指定元素。
1653e41f4b71Sopenharmony_ci
1654e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
1655e41f4b71Sopenharmony_ci
1656e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
1657e41f4b71Sopenharmony_ci
1658e41f4b71Sopenharmony_ci**参数:**
1659e41f4b71Sopenharmony_ci
1660e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明             |
1661e41f4b71Sopenharmony_ci| ------ | ---- | ---- | ---------------- |
1662e41f4b71Sopenharmony_ci| key    | K    | 是   | 待删除元素的键。 |
1663e41f4b71Sopenharmony_ci
1664e41f4b71Sopenharmony_ci**返回值:**
1665e41f4b71Sopenharmony_ci
1666e41f4b71Sopenharmony_ci| 类型    | 说明                                                         |
1667e41f4b71Sopenharmony_ci| ------- | ------------------------------------------------------------ |
1668e41f4b71Sopenharmony_ci| boolean | 如果元素存在并已被删除,则为true;否则该元素不存在,返回false。 |
1669e41f4b71Sopenharmony_ci
1670e41f4b71Sopenharmony_ci**错误码:**
1671e41f4b71Sopenharmony_ci
1672e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
1673e41f4b71Sopenharmony_ci
1674e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                             |
1675e41f4b71Sopenharmony_ci| -------- | ---------------------------------------------------- |
1676e41f4b71Sopenharmony_ci| 10200011 | The delete method cannot be bound with non-sendable. |
1677e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification exception.                   |
1678e41f4b71Sopenharmony_ci
1679e41f4b71Sopenharmony_ci
1680e41f4b71Sopenharmony_ci**示例:**
1681e41f4b71Sopenharmony_ci
1682e41f4b71Sopenharmony_ci```ts
1683e41f4b71Sopenharmony_ciconst myMap = new collections.Map<string, string>([
1684e41f4b71Sopenharmony_ci  ["hello", "world"],
1685e41f4b71Sopenharmony_ci]);
1686e41f4b71Sopenharmony_ci// Expected result: true
1687e41f4b71Sopenharmony_ciconsole.info("result:" + myMap.delete("hello"));
1688e41f4b71Sopenharmony_ci// Expected result: false
1689e41f4b71Sopenharmony_ciconsole.info("result:" + myMap.has("hello"));
1690e41f4b71Sopenharmony_ci// Expected result: false
1691e41f4b71Sopenharmony_ciconsole.info("result:" + myMap.delete("hello"));
1692e41f4b71Sopenharmony_ci```
1693e41f4b71Sopenharmony_ci
1694e41f4b71Sopenharmony_ci### forEach
1695e41f4b71Sopenharmony_ciforEach(callbackFn: (value: V, key: K, map: Map<K, V>) => void): void
1696e41f4b71Sopenharmony_ci
1697e41f4b71Sopenharmony_ci按插入顺序对该Map中的每个键/值对执行一次回调函数。
1698e41f4b71Sopenharmony_ci
1699e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
1700e41f4b71Sopenharmony_ci
1701e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
1702e41f4b71Sopenharmony_ci
1703e41f4b71Sopenharmony_ci**参数:**
1704e41f4b71Sopenharmony_ci
1705e41f4b71Sopenharmony_ci| 参数名     | 类型                                       | 必填 | 说明       |
1706e41f4b71Sopenharmony_ci| ---------- | ------------------------------------------ | ---- | ---------- |
1707e41f4b71Sopenharmony_ci| callbackFn | (value: V, key: K, map: Map<K, V>) => void | 是   | 回调函数。 |
1708e41f4b71Sopenharmony_ci
1709e41f4b71Sopenharmony_cicallbackFn的参数说明:
1710e41f4b71Sopenharmony_ci| 参数名 | 类型            | 必填 | 说明                         |
1711e41f4b71Sopenharmony_ci| ------ | --------------- | ---- | ---------------------------- |
1712e41f4b71Sopenharmony_ci| value  | V               | 否   | 当前遍历到的元素键值对的值。 |
1713e41f4b71Sopenharmony_ci| key    | K               | 否   | 当前遍历到的元素键值对的键。 |
1714e41f4b71Sopenharmony_ci| map    | Map&lt;K, V&gt; | 否   | 当前map实例对象。            |
1715e41f4b71Sopenharmony_ci
1716e41f4b71Sopenharmony_ci**错误码:**
1717e41f4b71Sopenharmony_ci
1718e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
1719e41f4b71Sopenharmony_ci
1720e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                              |
1721e41f4b71Sopenharmony_ci| -------- | ----------------------------------------------------- |
1722e41f4b71Sopenharmony_ci| 10200011 | The forEach method cannot be bound with non-sendable. |
1723e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification exception.                    |
1724e41f4b71Sopenharmony_ci
1725e41f4b71Sopenharmony_ci**示例:**
1726e41f4b71Sopenharmony_ci
1727e41f4b71Sopenharmony_ci```ts
1728e41f4b71Sopenharmony_ci// 正例:
1729e41f4b71Sopenharmony_cinew collections.Map<string, number>([
1730e41f4b71Sopenharmony_ci  ['foo', 0],
1731e41f4b71Sopenharmony_ci  ['bar', 1],
1732e41f4b71Sopenharmony_ci  ['baz', 2],
1733e41f4b71Sopenharmony_ci]).forEach((value, key, map) => {
1734e41f4b71Sopenharmony_ci  console.info(`m[${key}] = ${value}`);
1735e41f4b71Sopenharmony_ci});
1736e41f4b71Sopenharmony_ci```
1737e41f4b71Sopenharmony_ci
1738e41f4b71Sopenharmony_ci<!--code_no_check-->
1739e41f4b71Sopenharmony_ci```ts
1740e41f4b71Sopenharmony_ci// 反例:
1741e41f4b71Sopenharmony_cinew collections.Map<string, number>([
1742e41f4b71Sopenharmony_ci  ['foo', 0],
1743e41f4b71Sopenharmony_ci  ['bar', 1],
1744e41f4b71Sopenharmony_ci  ['baz', 2],
1745e41f4b71Sopenharmony_ci]).forEach((value, key, map) => {
1746e41f4b71Sopenharmony_ci  // Throw exception `Concurrent modification exception.`
1747e41f4b71Sopenharmony_ci  map.delete(key);
1748e41f4b71Sopenharmony_ci});
1749e41f4b71Sopenharmony_ci```
1750e41f4b71Sopenharmony_ci
1751e41f4b71Sopenharmony_ci### get
1752e41f4b71Sopenharmony_ciget(key: K): V | undefined
1753e41f4b71Sopenharmony_ci
1754e41f4b71Sopenharmony_ci返回该Map中的指定元素。
1755e41f4b71Sopenharmony_ci
1756e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
1757e41f4b71Sopenharmony_ci
1758e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
1759e41f4b71Sopenharmony_ci
1760e41f4b71Sopenharmony_ci**参数:**
1761e41f4b71Sopenharmony_ci
1762e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明      |
1763e41f4b71Sopenharmony_ci| ------ | ---- | ---- | --------- |
1764e41f4b71Sopenharmony_ci| key    | K    | 是   | 指定key。 |
1765e41f4b71Sopenharmony_ci
1766e41f4b71Sopenharmony_ci**返回值:**
1767e41f4b71Sopenharmony_ci
1768e41f4b71Sopenharmony_ci| 类型 | 说明                                                         |
1769e41f4b71Sopenharmony_ci| ---- | ------------------------------------------------------------ |
1770e41f4b71Sopenharmony_ci| V    | 与指定键相关联的元素,如果键在Map对象中找不到,则返回undefined。 |
1771e41f4b71Sopenharmony_ci
1772e41f4b71Sopenharmony_ci**错误码:**
1773e41f4b71Sopenharmony_ci
1774e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
1775e41f4b71Sopenharmony_ci
1776e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                          |
1777e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------- |
1778e41f4b71Sopenharmony_ci| 10200011 | The get method cannot be bound with non-sendable. |
1779e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification exception.                |
1780e41f4b71Sopenharmony_ci
1781e41f4b71Sopenharmony_ci**示例:**
1782e41f4b71Sopenharmony_ci
1783e41f4b71Sopenharmony_ci```ts
1784e41f4b71Sopenharmony_ciconst myMap = new collections.Map<string, string>([
1785e41f4b71Sopenharmony_ci  ["hello", "world"],
1786e41f4b71Sopenharmony_ci]);
1787e41f4b71Sopenharmony_ci// Expected output: "world"
1788e41f4b71Sopenharmony_ciconsole.info(myMap.get("hello"));
1789e41f4b71Sopenharmony_ci// Expected output: undefined
1790e41f4b71Sopenharmony_ciconsole.info(myMap.get("world"));
1791e41f4b71Sopenharmony_ci```
1792e41f4b71Sopenharmony_ci
1793e41f4b71Sopenharmony_ci### has
1794e41f4b71Sopenharmony_cihas(key: K): boolean
1795e41f4b71Sopenharmony_ci
1796e41f4b71Sopenharmony_ci判断该Map中是否存在指定元素。
1797e41f4b71Sopenharmony_ci
1798e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
1799e41f4b71Sopenharmony_ci
1800e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
1801e41f4b71Sopenharmony_ci
1802e41f4b71Sopenharmony_ci**返回值:**
1803e41f4b71Sopenharmony_ci
1804e41f4b71Sopenharmony_ci| 类型    | 说明                                          |
1805e41f4b71Sopenharmony_ci| ------- | --------------------------------------------- |
1806e41f4b71Sopenharmony_ci| boolean | 如果存在指定元素,则返回true,否则返回false。 |
1807e41f4b71Sopenharmony_ci
1808e41f4b71Sopenharmony_ci**错误码:**
1809e41f4b71Sopenharmony_ci
1810e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
1811e41f4b71Sopenharmony_ci
1812e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                          |
1813e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------- |
1814e41f4b71Sopenharmony_ci| 10200011 | The has method cannot be bound with non-sendable. |
1815e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification exception.                |
1816e41f4b71Sopenharmony_ci
1817e41f4b71Sopenharmony_ci**示例:**
1818e41f4b71Sopenharmony_ci
1819e41f4b71Sopenharmony_ci```ts
1820e41f4b71Sopenharmony_ciconst myMap = new collections.Map<string, string>([
1821e41f4b71Sopenharmony_ci  ["hello", "world"],
1822e41f4b71Sopenharmony_ci]);
1823e41f4b71Sopenharmony_ci// Expected output: true
1824e41f4b71Sopenharmony_ciconsole.info("result:" + myMap.has("hello"));
1825e41f4b71Sopenharmony_ci// Expected output: false
1826e41f4b71Sopenharmony_ciconsole.info("result:" + myMap.has("world"));
1827e41f4b71Sopenharmony_ci```
1828e41f4b71Sopenharmony_ci
1829e41f4b71Sopenharmony_ci### set
1830e41f4b71Sopenharmony_ciset(key: K, value: V): Map<K, V>
1831e41f4b71Sopenharmony_ci
1832e41f4b71Sopenharmony_ci向该Map添加或更新一个指定的键值对。
1833e41f4b71Sopenharmony_ci
1834e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
1835e41f4b71Sopenharmony_ci
1836e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
1837e41f4b71Sopenharmony_ci
1838e41f4b71Sopenharmony_ci**返回值:**
1839e41f4b71Sopenharmony_ci
1840e41f4b71Sopenharmony_ci| 类型            | 说明    |
1841e41f4b71Sopenharmony_ci| --------------- | ------- |
1842e41f4b71Sopenharmony_ci| Map&lt;K, V&gt; | Map对象 |
1843e41f4b71Sopenharmony_ci
1844e41f4b71Sopenharmony_ci**错误码:**
1845e41f4b71Sopenharmony_ci
1846e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
1847e41f4b71Sopenharmony_ci
1848e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                          |
1849e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------- |
1850e41f4b71Sopenharmony_ci| 10200011 | The set method cannot be bound with non-sendable. |
1851e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification exception.                |
1852e41f4b71Sopenharmony_ci
1853e41f4b71Sopenharmony_ci**示例:**
1854e41f4b71Sopenharmony_ci
1855e41f4b71Sopenharmony_ci```ts
1856e41f4b71Sopenharmony_ci// 正例:
1857e41f4b71Sopenharmony_ciconst myMap = new collections.Map<string, string>();
1858e41f4b71Sopenharmony_cimyMap.set("foo", "bar")
1859e41f4b71Sopenharmony_ci```
1860e41f4b71Sopenharmony_ci
1861e41f4b71Sopenharmony_ci<!--code_no_check-->
1862e41f4b71Sopenharmony_ci```ts
1863e41f4b71Sopenharmony_ci// 反例:
1864e41f4b71Sopenharmony_cilet obj = new Object();
1865e41f4b71Sopenharmony_ciconst myMap: collections.Map<string, Object> = new collections.Map<string, Object>();
1866e41f4b71Sopenharmony_ci// Type arguments of generic "Sendable" type must be a "Sendable" data type (arkts-sendable-generic-types)
1867e41f4b71Sopenharmony_cimyMap.set("foo", obj);
1868e41f4b71Sopenharmony_ci```
1869e41f4b71Sopenharmony_ci
1870e41f4b71Sopenharmony_ci### [Symbol.iterator]
1871e41f4b71Sopenharmony_ci
1872e41f4b71Sopenharmony_ci[Symbol.iterator]\(): IterableIterator&lt;[K, V]&gt;
1873e41f4b71Sopenharmony_ci
1874e41f4b71Sopenharmony_ci返回一个迭代器,迭代器的每一项都是一个JavaScript对象,并返回该对象。
1875e41f4b71Sopenharmony_ci
1876e41f4b71Sopenharmony_ci> **说明:**
1877e41f4b71Sopenharmony_ci>
1878e41f4b71Sopenharmony_ci> 本接口不支持在.ets文件中使用。
1879e41f4b71Sopenharmony_ci
1880e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
1881e41f4b71Sopenharmony_ci
1882e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
1883e41f4b71Sopenharmony_ci
1884e41f4b71Sopenharmony_ci**返回值:**
1885e41f4b71Sopenharmony_ci| 类型 | 说明 |
1886e41f4b71Sopenharmony_ci| -------- | -------- |
1887e41f4b71Sopenharmony_ci| IterableIterator<[K, V]> | 返回一个迭代器。 |
1888e41f4b71Sopenharmony_ci
1889e41f4b71Sopenharmony_ci**错误码:**
1890e41f4b71Sopenharmony_ci
1891e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
1892e41f4b71Sopenharmony_ci
1893e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
1894e41f4b71Sopenharmony_ci| -------- | -------- |
1895e41f4b71Sopenharmony_ci| 10200011 | The Symbol.iterator method cannot be bound. |
1896e41f4b71Sopenharmony_ci
1897e41f4b71Sopenharmony_ci**示例:**
1898e41f4b71Sopenharmony_ci
1899e41f4b71Sopenharmony_ci```ts
1900e41f4b71Sopenharmony_cilet map = new collections.Map<number, string>([
1901e41f4b71Sopenharmony_ci    [0, "one"],
1902e41f4b71Sopenharmony_ci    [1, "two"],
1903e41f4b71Sopenharmony_ci    [2, "three"],
1904e41f4b71Sopenharmony_ci    [3, "four"]
1905e41f4b71Sopenharmony_ci]);
1906e41f4b71Sopenharmony_ci
1907e41f4b71Sopenharmony_cilet keys = Array.from(map.keys());
1908e41f4b71Sopenharmony_cifor (let key of keys) {
1909e41f4b71Sopenharmony_ci  console.info("key:" + key);
1910e41f4b71Sopenharmony_ci  console.info("value:" + map.get(key));
1911e41f4b71Sopenharmony_ci}
1912e41f4b71Sopenharmony_ci```
1913e41f4b71Sopenharmony_ci
1914e41f4b71Sopenharmony_ci## collections.Set
1915e41f4b71Sopenharmony_ci
1916e41f4b71Sopenharmony_ci一种非线性数据结构。
1917e41f4b71Sopenharmony_ci
1918e41f4b71Sopenharmony_ci文档中存在泛型的使用,涉及以下泛型标记符:
1919e41f4b71Sopenharmony_ci
1920e41f4b71Sopenharmony_ci- T:Type,支持[Sendable支持的数据类型](../../arkts-utils/sendable-overview.md#sendable支持的数据类型)。
1921e41f4b71Sopenharmony_ci
1922e41f4b71Sopenharmony_ci### 属性
1923e41f4b71Sopenharmony_ci
1924e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
1925e41f4b71Sopenharmony_ci
1926e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
1927e41f4b71Sopenharmony_ci
1928e41f4b71Sopenharmony_ci| 名称 | 类型   | 只读 | 可选 | 说明            |
1929e41f4b71Sopenharmony_ci| ---- | ------ | ---- | ---- | --------------- |
1930e41f4b71Sopenharmony_ci| size | number | 是   | 否   | Set的元素个数。 |
1931e41f4b71Sopenharmony_ci
1932e41f4b71Sopenharmony_ci### constructor
1933e41f4b71Sopenharmony_ci
1934e41f4b71Sopenharmony_ciconstructor(values?: readonly T[] | null)
1935e41f4b71Sopenharmony_ci
1936e41f4b71Sopenharmony_ci构造函数,用于创建ArkTS Set对象。
1937e41f4b71Sopenharmony_ci
1938e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
1939e41f4b71Sopenharmony_ci
1940e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
1941e41f4b71Sopenharmony_ci
1942e41f4b71Sopenharmony_ci**参数:**
1943e41f4b71Sopenharmony_ci
1944e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明                                                      |
1945e41f4b71Sopenharmony_ci| ------ | ---- | ---- | --------------------------------------------------------- |
1946e41f4b71Sopenharmony_ci| values | T[] \| null | 否 | 数组或其它可迭代对象。默认值为null,创建一个空Set对象。 |
1947e41f4b71Sopenharmony_ci
1948e41f4b71Sopenharmony_ci**错误码:**
1949e41f4b71Sopenharmony_ci
1950e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
1951e41f4b71Sopenharmony_ci
1952e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                                |
1953e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------------- |
1954e41f4b71Sopenharmony_ci| 10200012 | The ArkTS Set's constructor cannot be directly invoked. |
1955e41f4b71Sopenharmony_ci
1956e41f4b71Sopenharmony_ci**示例:**
1957e41f4b71Sopenharmony_ci
1958e41f4b71Sopenharmony_ci```ts
1959e41f4b71Sopenharmony_ci// 正例1:
1960e41f4b71Sopenharmony_ciconst mySet = new collections.Set<number>();
1961e41f4b71Sopenharmony_ci```
1962e41f4b71Sopenharmony_ci
1963e41f4b71Sopenharmony_ci```ts
1964e41f4b71Sopenharmony_ci// 正例2:
1965e41f4b71Sopenharmony_ciconst mySet = new collections.Set<number>([1, 2, 3, 4, 5]);
1966e41f4b71Sopenharmony_ci```
1967e41f4b71Sopenharmony_ci
1968e41f4b71Sopenharmony_ci<!--code_no_check-->
1969e41f4b71Sopenharmony_ci```ts
1970e41f4b71Sopenharmony_ci// 反例:
1971e41f4b71Sopenharmony_ci@Sendable
1972e41f4b71Sopenharmony_ciclass SharedClass {
1973e41f4b71Sopenharmony_ci  constructor() {
1974e41f4b71Sopenharmony_ci  }
1975e41f4b71Sopenharmony_ci}
1976e41f4b71Sopenharmony_ci
1977e41f4b71Sopenharmony_cilet sObj = new SharedClass();
1978e41f4b71Sopenharmony_ciconst mySet1: collections.Set<number|SharedClass> = new collections.Set<number|SharedClass>([1, sObj]);
1979e41f4b71Sopenharmony_ci// Type arguments of generic "Sendable" type must be a "Sendable" data type (arkts-sendable-generic-types)
1980e41f4b71Sopenharmony_cilet obj = new Object();
1981e41f4b71Sopenharmony_ciconst mySet2: collections.Set<number|SharedClass> = new collections.Set<number|Object>([1, obj]);
1982e41f4b71Sopenharmony_ci```
1983e41f4b71Sopenharmony_ci
1984e41f4b71Sopenharmony_ci### entries
1985e41f4b71Sopenharmony_cientries(): IterableIterator<[T, T]>
1986e41f4b71Sopenharmony_ci
1987e41f4b71Sopenharmony_ci返回一个Set迭代器对象。
1988e41f4b71Sopenharmony_ci
1989e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
1990e41f4b71Sopenharmony_ci
1991e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
1992e41f4b71Sopenharmony_ci
1993e41f4b71Sopenharmony_ci**返回值:**
1994e41f4b71Sopenharmony_ci
1995e41f4b71Sopenharmony_ci| 类型                           | 说明                    |
1996e41f4b71Sopenharmony_ci| ------------------------------ | ----------------------- |
1997e41f4b71Sopenharmony_ci| IterableIterator&lt;[T, T]&gt; | 返回一个Set迭代器对象。 |
1998e41f4b71Sopenharmony_ci
1999e41f4b71Sopenharmony_ci**错误码:**
2000e41f4b71Sopenharmony_ci
2001e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
2002e41f4b71Sopenharmony_ci
2003e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                              |
2004e41f4b71Sopenharmony_ci| -------- | ----------------------------------------------------- |
2005e41f4b71Sopenharmony_ci| 10200011 | The entries method cannot be bound with non-sendable. |
2006e41f4b71Sopenharmony_ci
2007e41f4b71Sopenharmony_ci**示例:**
2008e41f4b71Sopenharmony_ci
2009e41f4b71Sopenharmony_ci```ts
2010e41f4b71Sopenharmony_ciconst mySet = new collections.Set<number>([0, 1, 2, 3]);
2011e41f4b71Sopenharmony_ci
2012e41f4b71Sopenharmony_ciconst iterator = mySet.entries();
2013e41f4b71Sopenharmony_ci// Expected output: [0, 0]
2014e41f4b71Sopenharmony_ciconsole.info(iterator.next().value);
2015e41f4b71Sopenharmony_ci// Expected output: [1, 1]
2016e41f4b71Sopenharmony_ciconsole.info(iterator.next().value);
2017e41f4b71Sopenharmony_ci```
2018e41f4b71Sopenharmony_ci
2019e41f4b71Sopenharmony_ci### keys
2020e41f4b71Sopenharmony_cikeys(): IterableIterator\<T>
2021e41f4b71Sopenharmony_ci
2022e41f4b71Sopenharmony_ci返回一个Set迭代器对象,该对象包含了此Set中每个元素的值。
2023e41f4b71Sopenharmony_ci
2024e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
2025e41f4b71Sopenharmony_ci
2026e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
2027e41f4b71Sopenharmony_ci
2028e41f4b71Sopenharmony_ci**返回值:**
2029e41f4b71Sopenharmony_ci
2030e41f4b71Sopenharmony_ci| 类型                      | 说明                    |
2031e41f4b71Sopenharmony_ci| ------------------------- | ----------------------- |
2032e41f4b71Sopenharmony_ci| IterableIterator&lt;T&gt; | 返回一个Set迭代器对象。 |
2033e41f4b71Sopenharmony_ci
2034e41f4b71Sopenharmony_ci**错误码:**
2035e41f4b71Sopenharmony_ci
2036e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
2037e41f4b71Sopenharmony_ci
2038e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                           |
2039e41f4b71Sopenharmony_ci| -------- | -------------------------------------------------- |
2040e41f4b71Sopenharmony_ci| 10200011 | The keys method cannot be bound with non-sendable. |
2041e41f4b71Sopenharmony_ci
2042e41f4b71Sopenharmony_ci**示例:**
2043e41f4b71Sopenharmony_ci
2044e41f4b71Sopenharmony_ci```ts
2045e41f4b71Sopenharmony_ciconst mySet = new collections.Set<number>([0, 1, 2, 3]);
2046e41f4b71Sopenharmony_ci
2047e41f4b71Sopenharmony_ciconst iterator = mySet.keys();
2048e41f4b71Sopenharmony_ci// Expected output: 0
2049e41f4b71Sopenharmony_ciconsole.info(iterator.next().value);
2050e41f4b71Sopenharmony_ci// Expected output: 1
2051e41f4b71Sopenharmony_ciconsole.info(iterator.next().value);
2052e41f4b71Sopenharmony_ci```
2053e41f4b71Sopenharmony_ci
2054e41f4b71Sopenharmony_ci### values
2055e41f4b71Sopenharmony_civalues(): IterableIterator\<T>
2056e41f4b71Sopenharmony_ci
2057e41f4b71Sopenharmony_ci返回一个Set迭代器对象,该对象包含了此Set中每个元素的值。
2058e41f4b71Sopenharmony_ci
2059e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
2060e41f4b71Sopenharmony_ci
2061e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
2062e41f4b71Sopenharmony_ci
2063e41f4b71Sopenharmony_ci**返回值:**
2064e41f4b71Sopenharmony_ci
2065e41f4b71Sopenharmony_ci| 类型                      | 说明                    |
2066e41f4b71Sopenharmony_ci| ------------------------- | ----------------------- |
2067e41f4b71Sopenharmony_ci| IterableIterator&lt;T&gt; | 返回一个Set迭代器对象。 |
2068e41f4b71Sopenharmony_ci
2069e41f4b71Sopenharmony_ci**错误码:**
2070e41f4b71Sopenharmony_ci
2071e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
2072e41f4b71Sopenharmony_ci
2073e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                             |
2074e41f4b71Sopenharmony_ci| -------- | ---------------------------------------------------- |
2075e41f4b71Sopenharmony_ci| 10200011 | The values method cannot be bound with non-sendable. |
2076e41f4b71Sopenharmony_ci
2077e41f4b71Sopenharmony_ci**示例:**
2078e41f4b71Sopenharmony_ci
2079e41f4b71Sopenharmony_ci```ts
2080e41f4b71Sopenharmony_ci// 例1:
2081e41f4b71Sopenharmony_ciconst mySet = new collections.Set<number>([0, 1, 2, 3]);
2082e41f4b71Sopenharmony_ci
2083e41f4b71Sopenharmony_ciconst iterator = mySet.values();
2084e41f4b71Sopenharmony_ci// Expected output: 0
2085e41f4b71Sopenharmony_ciconsole.info(iterator.next().value);
2086e41f4b71Sopenharmony_ci// Expected output: 1
2087e41f4b71Sopenharmony_ciconsole.info(iterator.next().value);
2088e41f4b71Sopenharmony_ci```
2089e41f4b71Sopenharmony_ci
2090e41f4b71Sopenharmony_ci```ts
2091e41f4b71Sopenharmony_ci// 例2:
2092e41f4b71Sopenharmony_ciconst mySet = new collections.Set<number>([0, 1, 2, 3]);
2093e41f4b71Sopenharmony_ci
2094e41f4b71Sopenharmony_ciconst valueIter = mySet.values();
2095e41f4b71Sopenharmony_cifor (let value of valueIter) {
2096e41f4b71Sopenharmony_ci    if (value % 2 == 0) {
2097e41f4b71Sopenharmony_ci        mySet.delete(value);
2098e41f4b71Sopenharmony_ci    }
2099e41f4b71Sopenharmony_ci}
2100e41f4b71Sopenharmony_ci
2101e41f4b71Sopenharmony_ci// Expected output: 2
2102e41f4b71Sopenharmony_ciconsole.info("size:" + mySet.size);
2103e41f4b71Sopenharmony_ci```
2104e41f4b71Sopenharmony_ci
2105e41f4b71Sopenharmony_ci### clear
2106e41f4b71Sopenharmony_ciclear(): void
2107e41f4b71Sopenharmony_ci
2108e41f4b71Sopenharmony_ci删除该Set中的所有元素。
2109e41f4b71Sopenharmony_ci
2110e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
2111e41f4b71Sopenharmony_ci
2112e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
2113e41f4b71Sopenharmony_ci
2114e41f4b71Sopenharmony_ci**错误码:**
2115e41f4b71Sopenharmony_ci
2116e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
2117e41f4b71Sopenharmony_ci
2118e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                            |
2119e41f4b71Sopenharmony_ci| -------- | --------------------------------------------------- |
2120e41f4b71Sopenharmony_ci| 10200011 | The clear method cannot be bound with non-sendable. |
2121e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification exception.                  |
2122e41f4b71Sopenharmony_ci
2123e41f4b71Sopenharmony_ci**示例:**
2124e41f4b71Sopenharmony_ci
2125e41f4b71Sopenharmony_ci```ts
2126e41f4b71Sopenharmony_ciconst mySet = new collections.Set<number>([0, 1]);
2127e41f4b71Sopenharmony_ci// Expected output: 2
2128e41f4b71Sopenharmony_ciconsole.info("size:" + mySet.size);
2129e41f4b71Sopenharmony_cimySet.clear();
2130e41f4b71Sopenharmony_ci// Expected output: 0
2131e41f4b71Sopenharmony_ciconsole.info("size:" + mySet.size);
2132e41f4b71Sopenharmony_ci```
2133e41f4b71Sopenharmony_ci
2134e41f4b71Sopenharmony_ci### delete
2135e41f4b71Sopenharmony_cidelete(value: T): boolean
2136e41f4b71Sopenharmony_ci
2137e41f4b71Sopenharmony_ci删除该Set中指定元素。
2138e41f4b71Sopenharmony_ci
2139e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
2140e41f4b71Sopenharmony_ci
2141e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
2142e41f4b71Sopenharmony_ci
2143e41f4b71Sopenharmony_ci**参数:**
2144e41f4b71Sopenharmony_ci
2145e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明             |
2146e41f4b71Sopenharmony_ci| ------ | ---- | ---- | ---------------- |
2147e41f4b71Sopenharmony_ci| key    | K    | 是   | 待删除元素的键。 |
2148e41f4b71Sopenharmony_ci
2149e41f4b71Sopenharmony_ci**返回值:**
2150e41f4b71Sopenharmony_ci
2151e41f4b71Sopenharmony_ci| 类型    | 说明                              |
2152e41f4b71Sopenharmony_ci| ------- | --------------------------------- |
2153e41f4b71Sopenharmony_ci| boolean | 成功删除返回true,否则返回false。 |
2154e41f4b71Sopenharmony_ci
2155e41f4b71Sopenharmony_ci**错误码:**
2156e41f4b71Sopenharmony_ci
2157e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
2158e41f4b71Sopenharmony_ci
2159e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                             |
2160e41f4b71Sopenharmony_ci| -------- | ---------------------------------------------------- |
2161e41f4b71Sopenharmony_ci| 10200011 | The delete method cannot be bound with non-sendable. |
2162e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification exception.                   |
2163e41f4b71Sopenharmony_ci
2164e41f4b71Sopenharmony_ci
2165e41f4b71Sopenharmony_ci**示例:**
2166e41f4b71Sopenharmony_ci
2167e41f4b71Sopenharmony_ci```ts
2168e41f4b71Sopenharmony_ciconst mySet = new collections.Set<string>(["hello", "world"]);
2169e41f4b71Sopenharmony_ci// Expected result: true
2170e41f4b71Sopenharmony_ciconsole.info("result:" + mySet.delete("hello"));
2171e41f4b71Sopenharmony_ci// Expected result: false
2172e41f4b71Sopenharmony_ciconsole.info("result:" + mySet.has("hello"));
2173e41f4b71Sopenharmony_ci// Expected result: false
2174e41f4b71Sopenharmony_ciconsole.info("result:" + mySet.delete("hello"));
2175e41f4b71Sopenharmony_ci```
2176e41f4b71Sopenharmony_ci
2177e41f4b71Sopenharmony_ci### forEach
2178e41f4b71Sopenharmony_ciforEach(callbackFn: (value1: T, value2: T, set: Set\<T>) => void): void
2179e41f4b71Sopenharmony_ci
2180e41f4b71Sopenharmony_ci按插入顺序对该Set中的每个键/值对执行一次回调函数。
2181e41f4b71Sopenharmony_ci
2182e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
2183e41f4b71Sopenharmony_ci
2184e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
2185e41f4b71Sopenharmony_ci
2186e41f4b71Sopenharmony_ci**参数:**
2187e41f4b71Sopenharmony_ci
2188e41f4b71Sopenharmony_ci| 参数名     | 类型                                         | 必填 | 说明       |
2189e41f4b71Sopenharmony_ci| ---------- | -------------------------------------------- | ---- | ---------- |
2190e41f4b71Sopenharmony_ci| callbackFn | (value1: T, value2: T, set: Set\<T>) => void | 是   | 回调函数。 |
2191e41f4b71Sopenharmony_ci
2192e41f4b71Sopenharmony_cicallbackFn的参数说明:
2193e41f4b71Sopenharmony_ci| 参数名 | 类型         | 必填 | 说明                         |
2194e41f4b71Sopenharmony_ci| ------ | ------------ | ---- | ---------------------------- |
2195e41f4b71Sopenharmony_ci| value1 | T            | 否   | 当前遍历到的元素键值对的值。 |
2196e41f4b71Sopenharmony_ci| value2 | T            | 否   | 当前遍历到的元素键值对的键。 |
2197e41f4b71Sopenharmony_ci| set    | Set&lt;T&gt; | 否   | 当前set实例对象。            |
2198e41f4b71Sopenharmony_ci
2199e41f4b71Sopenharmony_ci**错误码:**
2200e41f4b71Sopenharmony_ci
2201e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
2202e41f4b71Sopenharmony_ci
2203e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                              |
2204e41f4b71Sopenharmony_ci| -------- | ----------------------------------------------------- |
2205e41f4b71Sopenharmony_ci| 10200011 | The forEach method cannot be bound with non-sendable. |
2206e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification exception.                    |
2207e41f4b71Sopenharmony_ci
2208e41f4b71Sopenharmony_ci**示例:**
2209e41f4b71Sopenharmony_ci
2210e41f4b71Sopenharmony_ci```ts
2211e41f4b71Sopenharmony_ci// 正例:
2212e41f4b71Sopenharmony_cinew collections.Set<string>(['foo', 'bar', 'baz']).forEach((value1, value2, set) => {
2213e41f4b71Sopenharmony_ci  console.info(`s[${value1}] = ${value2}`);
2214e41f4b71Sopenharmony_ci});
2215e41f4b71Sopenharmony_ci```
2216e41f4b71Sopenharmony_ci
2217e41f4b71Sopenharmony_ci<!--code_no_check-->
2218e41f4b71Sopenharmony_ci```ts
2219e41f4b71Sopenharmony_ci// 反例:
2220e41f4b71Sopenharmony_cinew collections.Set<string>(['foo', 'bar', 'baz']).forEach((value1, value2, set) => {
2221e41f4b71Sopenharmony_ci  // Throw exception `Concurrent modification exception.`
2222e41f4b71Sopenharmony_ci  set.delete(value1);
2223e41f4b71Sopenharmony_ci});
2224e41f4b71Sopenharmony_ci```
2225e41f4b71Sopenharmony_ci
2226e41f4b71Sopenharmony_ci### has
2227e41f4b71Sopenharmony_cihas(value: T): boolean
2228e41f4b71Sopenharmony_ci
2229e41f4b71Sopenharmony_ci判断该Set中是否存在指定元素。
2230e41f4b71Sopenharmony_ci
2231e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
2232e41f4b71Sopenharmony_ci
2233e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
2234e41f4b71Sopenharmony_ci
2235e41f4b71Sopenharmony_ci**返回值:**
2236e41f4b71Sopenharmony_ci
2237e41f4b71Sopenharmony_ci| 类型    | 说明                                          |
2238e41f4b71Sopenharmony_ci| ------- | --------------------------------------------- |
2239e41f4b71Sopenharmony_ci| boolean | 如果存在指定元素,则返回true;否则返回false。 |
2240e41f4b71Sopenharmony_ci
2241e41f4b71Sopenharmony_ci**错误码:**
2242e41f4b71Sopenharmony_ci
2243e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
2244e41f4b71Sopenharmony_ci
2245e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                          |
2246e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------- |
2247e41f4b71Sopenharmony_ci| 10200011 | The has method cannot be bound with non-sendable. |
2248e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification exception.                |
2249e41f4b71Sopenharmony_ci
2250e41f4b71Sopenharmony_ci**示例:**
2251e41f4b71Sopenharmony_ci
2252e41f4b71Sopenharmony_ci```ts
2253e41f4b71Sopenharmony_ciconst mySet = new collections.Set<string>(["hello", "world"]);
2254e41f4b71Sopenharmony_ci// Expected output: true
2255e41f4b71Sopenharmony_ciconsole.info("result:" + mySet.has("hello"));
2256e41f4b71Sopenharmony_ci// Expected output: true
2257e41f4b71Sopenharmony_ciconsole.info("result:" + mySet.has("world"));
2258e41f4b71Sopenharmony_ci```
2259e41f4b71Sopenharmony_ci
2260e41f4b71Sopenharmony_ci### add
2261e41f4b71Sopenharmony_ciadd(value: T): Set\<T>
2262e41f4b71Sopenharmony_ci
2263e41f4b71Sopenharmony_ci如果没有相同元素,则在该Set中插入一个新元素。
2264e41f4b71Sopenharmony_ci
2265e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
2266e41f4b71Sopenharmony_ci
2267e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
2268e41f4b71Sopenharmony_ci
2269e41f4b71Sopenharmony_ci**返回值:**
2270e41f4b71Sopenharmony_ci
2271e41f4b71Sopenharmony_ci| 类型         | 说明      |
2272e41f4b71Sopenharmony_ci| ------------ | --------- |
2273e41f4b71Sopenharmony_ci| Set&lt;T&gt; | Set对象。 |
2274e41f4b71Sopenharmony_ci
2275e41f4b71Sopenharmony_ci**错误码:**
2276e41f4b71Sopenharmony_ci
2277e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
2278e41f4b71Sopenharmony_ci
2279e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                          |
2280e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------- |
2281e41f4b71Sopenharmony_ci| 10200011 | The add method cannot be bound with non-sendable. |
2282e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification exception.                |
2283e41f4b71Sopenharmony_ci
2284e41f4b71Sopenharmony_ci**示例:**
2285e41f4b71Sopenharmony_ci
2286e41f4b71Sopenharmony_ci```ts
2287e41f4b71Sopenharmony_ci// 正例:
2288e41f4b71Sopenharmony_ciconst mySet: collections.Set<string> = new collections.Set<string>();
2289e41f4b71Sopenharmony_cimySet.add("foo");
2290e41f4b71Sopenharmony_ci```
2291e41f4b71Sopenharmony_ci
2292e41f4b71Sopenharmony_ci<!--code_no_check-->
2293e41f4b71Sopenharmony_ci```ts
2294e41f4b71Sopenharmony_ci// 反例:
2295e41f4b71Sopenharmony_cilet obj = new Object();
2296e41f4b71Sopenharmony_ciconst mySet: collections.Set<Object> = new collections.Set<Object>();
2297e41f4b71Sopenharmony_ci// Type arguments of generic "Sendable" type must be a "Sendable" data type (arkts-sendable-generic-types)
2298e41f4b71Sopenharmony_cimySet.add(obj);
2299e41f4b71Sopenharmony_ci```
2300e41f4b71Sopenharmony_ci
2301e41f4b71Sopenharmony_ci### [Symbol.iterator]
2302e41f4b71Sopenharmony_ci
2303e41f4b71Sopenharmony_ci[Symbol.iterator]\(): IterableIterator&lt;T&gt;
2304e41f4b71Sopenharmony_ci
2305e41f4b71Sopenharmony_ci返回一个迭代器,迭代器的每一项都是一个JavaScript对象,并返回该对象。
2306e41f4b71Sopenharmony_ci
2307e41f4b71Sopenharmony_ci> **说明:**
2308e41f4b71Sopenharmony_ci>
2309e41f4b71Sopenharmony_ci> 本接口不支持在.ets文件中使用。
2310e41f4b71Sopenharmony_ci
2311e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
2312e41f4b71Sopenharmony_ci
2313e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
2314e41f4b71Sopenharmony_ci
2315e41f4b71Sopenharmony_ci**返回值:**
2316e41f4b71Sopenharmony_ci
2317e41f4b71Sopenharmony_ci| 类型 | 说明 |
2318e41f4b71Sopenharmony_ci| -------- | -------- |
2319e41f4b71Sopenharmony_ci| IterableIterator&lt;T&gt; | 返回一个迭代器。 |
2320e41f4b71Sopenharmony_ci
2321e41f4b71Sopenharmony_ci**错误码:**
2322e41f4b71Sopenharmony_ci
2323e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
2324e41f4b71Sopenharmony_ci
2325e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
2326e41f4b71Sopenharmony_ci| -------- | -------- |
2327e41f4b71Sopenharmony_ci| 10200011 | The Symbol.iterator method cannot be bound. |
2328e41f4b71Sopenharmony_ci
2329e41f4b71Sopenharmony_ci**示例:**
2330e41f4b71Sopenharmony_ci
2331e41f4b71Sopenharmony_ci```ts
2332e41f4b71Sopenharmony_cilet set = new collections.Set<number>([1, 2, 3, 4, 5]);
2333e41f4b71Sopenharmony_ci
2334e41f4b71Sopenharmony_cilet val: Array<number> = Array.from(set.values())
2335e41f4b71Sopenharmony_cifor (let item of val) {
2336e41f4b71Sopenharmony_ci  console.info("value: " + item);
2337e41f4b71Sopenharmony_ci}
2338e41f4b71Sopenharmony_ci```
2339e41f4b71Sopenharmony_ci
2340e41f4b71Sopenharmony_ci## collections.ArrayBuffer
2341e41f4b71Sopenharmony_ciArkTS TypedArray的底层数据结构。
2342e41f4b71Sopenharmony_ci
2343e41f4b71Sopenharmony_ci### 属性
2344e41f4b71Sopenharmony_ci
2345e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
2346e41f4b71Sopenharmony_ci
2347e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
2348e41f4b71Sopenharmony_ci
2349e41f4b71Sopenharmony_ci| 名称   | 类型   | 只读 | 可选 | 说明              |
2350e41f4b71Sopenharmony_ci| ------ | ------ | ---- | ---- | ----------------|
2351e41f4b71Sopenharmony_ci| byteLength | number | 是   | 否   | buffer所占的字节数。|
2352e41f4b71Sopenharmony_ci
2353e41f4b71Sopenharmony_ci### constructor
2354e41f4b71Sopenharmony_ciconstructor(byteLength: number)
2355e41f4b71Sopenharmony_ci
2356e41f4b71Sopenharmony_ci构造函数,用于创建一个指定长度的ArkTS ArrayBuffer对象。
2357e41f4b71Sopenharmony_ci
2358e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
2359e41f4b71Sopenharmony_ci
2360e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
2361e41f4b71Sopenharmony_ci
2362e41f4b71Sopenharmony_ci**参数:**
2363e41f4b71Sopenharmony_ci
2364e41f4b71Sopenharmony_ci| 参数名 | 类型   | 必填 | 说明                       |
2365e41f4b71Sopenharmony_ci| ------ | ------ | ---- | -------------------------|
2366e41f4b71Sopenharmony_ci| byteLength  | number | 是   | buffer所占的字节数。     |
2367e41f4b71Sopenharmony_ci
2368e41f4b71Sopenharmony_ci**错误码:**
2369e41f4b71Sopenharmony_ci
2370e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
2371e41f4b71Sopenharmony_ci
2372e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                                |
2373e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------------- |
2374e41f4b71Sopenharmony_ci| 10200012 | The ArrayBuffer's constructor cannot be directly invoked. |
2375e41f4b71Sopenharmony_ci
2376e41f4b71Sopenharmony_ci**示例:**
2377e41f4b71Sopenharmony_ci
2378e41f4b71Sopenharmony_ci```ts
2379e41f4b71Sopenharmony_cilet arrayBuffer: collections.ArrayBuffer = new collections.ArrayBuffer(10);
2380e41f4b71Sopenharmony_ciconsole.info("byteLength: " + arrayBuffer.byteLength); // byteLength: 10
2381e41f4b71Sopenharmony_ci```
2382e41f4b71Sopenharmony_ci
2383e41f4b71Sopenharmony_ci### slice
2384e41f4b71Sopenharmony_cislice(begin: number, end?: number): ArrayBuffer
2385e41f4b71Sopenharmony_ci
2386e41f4b71Sopenharmony_ci返回一个新的ArkTS ArrayBuffer对象,其包含原ArkTS ArrayBuffer指定范围的内容。
2387e41f4b71Sopenharmony_ci
2388e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
2389e41f4b71Sopenharmony_ci
2390e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
2391e41f4b71Sopenharmony_ci
2392e41f4b71Sopenharmony_ci**参数:**
2393e41f4b71Sopenharmony_ci
2394e41f4b71Sopenharmony_ci| 参数名 | 类型   | 必填 | 说明                                              |
2395e41f4b71Sopenharmony_ci| ------ | ------ | ---- | ------------------------------------------------ |
2396e41f4b71Sopenharmony_ci| begin  | number | 是   | 开始索引,如果`begin < 0`,则会从`begin + arraybuffer.byteLength`位置开始。 |
2397e41f4b71Sopenharmony_ci| end    | number | 否   | 结束索引(不包括该元素),如果`end < 0`,则会到`end + arraybuffer.byteLength`位置结束。默认为ArkTS ArrayBuffer的长度。|
2398e41f4b71Sopenharmony_ci
2399e41f4b71Sopenharmony_ci**返回值:**
2400e41f4b71Sopenharmony_ci
2401e41f4b71Sopenharmony_ci| 类型         | 说明      |
2402e41f4b71Sopenharmony_ci| ------------ | --------- |
2403e41f4b71Sopenharmony_ci| ArrayBuffer | 新的ArkTS ArrayBuffer对象。 |
2404e41f4b71Sopenharmony_ci
2405e41f4b71Sopenharmony_ci**错误码:**
2406e41f4b71Sopenharmony_ci
2407e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
2408e41f4b71Sopenharmony_ci
2409e41f4b71Sopenharmony_ci| 错误码ID |                    错误信息                   |
2410e41f4b71Sopenharmony_ci| -------- | -------------------------------------------- |
2411e41f4b71Sopenharmony_ci| 10200011 | The slice method cannot be bound.            |
2412e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification error.               |
2413e41f4b71Sopenharmony_ci
2414e41f4b71Sopenharmony_ci**示例:**
2415e41f4b71Sopenharmony_ci
2416e41f4b71Sopenharmony_ci```ts
2417e41f4b71Sopenharmony_cilet arrayBuffer: collections.ArrayBuffer = new collections.ArrayBuffer(10);
2418e41f4b71Sopenharmony_cilet slicedBuffer: collections.ArrayBuffer = arrayBuffer.slice(0, 4);
2419e41f4b71Sopenharmony_ciconsole.info("byteLength: " + slicedBuffer.byteLength); // byteLength: 4
2420e41f4b71Sopenharmony_ci```
2421e41f4b71Sopenharmony_ci
2422e41f4b71Sopenharmony_ci## TypedArrayFromMapFn
2423e41f4b71Sopenharmony_citype TypedArrayFromMapFn\<FromElementType, ToElementType> = (value: FromElementType, index: number) => ToElementType
2424e41f4b71Sopenharmony_ci
2425e41f4b71Sopenharmony_ciArkTS TypedArray映射函数类型。
2426e41f4b71Sopenharmony_ci
2427e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
2428e41f4b71Sopenharmony_ci
2429e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
2430e41f4b71Sopenharmony_ci
2431e41f4b71Sopenharmony_ci**参数:**
2432e41f4b71Sopenharmony_ci
2433e41f4b71Sopenharmony_ci| 参数名  | 类型   | 必填 | 说明                          |
2434e41f4b71Sopenharmony_ci| ------- | ------ | ---- | --------------------------- |
2435e41f4b71Sopenharmony_ci| value | FromElementType | 是 | 当前遍历的用于构造ArkTS TypedArray的元素。 |
2436e41f4b71Sopenharmony_ci| index | number | 是 | 当前遍历的用于构造ArkTS TypedArray的元素下标。 |
2437e41f4b71Sopenharmony_ci
2438e41f4b71Sopenharmony_ci**返回值:**
2439e41f4b71Sopenharmony_ci
2440e41f4b71Sopenharmony_ci| 类型   | 说明                          |
2441e41f4b71Sopenharmony_ci| ------ | --------------------------- |
2442e41f4b71Sopenharmony_ci| ToElementType | 转换后的元素值。 |
2443e41f4b71Sopenharmony_ci
2444e41f4b71Sopenharmony_ci## TypedArrayPredicateFn
2445e41f4b71Sopenharmony_citype TypedArrayPredicateFn\<ElementType, ArrayType> = (value: ElementType, index: number, array: ArrayType) => boolean
2446e41f4b71Sopenharmony_ci
2447e41f4b71Sopenharmony_ciArkTS TypedArray断言测试函数类型。
2448e41f4b71Sopenharmony_ci
2449e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
2450e41f4b71Sopenharmony_ci
2451e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
2452e41f4b71Sopenharmony_ci
2453e41f4b71Sopenharmony_ci**参数:**
2454e41f4b71Sopenharmony_ci
2455e41f4b71Sopenharmony_ci| 参数名  | 类型   | 必填 | 说明                          |
2456e41f4b71Sopenharmony_ci| ------- | ------ | ---- | --------------------------- |
2457e41f4b71Sopenharmony_ci| value | ElementType | 是 | 当前遍历的ArkTS TypedArray元素。 |
2458e41f4b71Sopenharmony_ci| index | number | 是 | 当前遍历的ArkTS TypedArray元素下标。 |
2459e41f4b71Sopenharmony_ci| array | ArrayType | 是 | 当前遍历的ArkTS TypedArray实例。 |
2460e41f4b71Sopenharmony_ci
2461e41f4b71Sopenharmony_ci**返回值:**
2462e41f4b71Sopenharmony_ci
2463e41f4b71Sopenharmony_ci| 类型   | 说明                          |
2464e41f4b71Sopenharmony_ci| ------ | --------------------------- |
2465e41f4b71Sopenharmony_ci| boolean | 如果值符合条件,则为true,否则为false。 |
2466e41f4b71Sopenharmony_ci
2467e41f4b71Sopenharmony_ci## TypedArrayForEachCallback
2468e41f4b71Sopenharmony_citype TypedArrayForEachCallback\<ElementType, ArrayType> = (value: ElementType, index: number, array: ArrayType) => void
2469e41f4b71Sopenharmony_ci
2470e41f4b71Sopenharmony_ciArkTS TypedArray遍历函数类型。
2471e41f4b71Sopenharmony_ci
2472e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
2473e41f4b71Sopenharmony_ci
2474e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
2475e41f4b71Sopenharmony_ci
2476e41f4b71Sopenharmony_ci**参数:**
2477e41f4b71Sopenharmony_ci
2478e41f4b71Sopenharmony_ci| 参数名  | 类型   | 必填 | 说明                          |
2479e41f4b71Sopenharmony_ci| ------- | ------ | ---- | --------------------------- |
2480e41f4b71Sopenharmony_ci| value | ElementType | 是 | 当前遍历的ArkTS TypedArray元素。 |
2481e41f4b71Sopenharmony_ci| index | number | 是 | 当前遍历的ArkTS TypedArray元素下标。 |
2482e41f4b71Sopenharmony_ci| array | ArrayType | 是 | 当前遍历的ArkTS TypedArray实例。 |
2483e41f4b71Sopenharmony_ci
2484e41f4b71Sopenharmony_ci## TypedArrayMapCallback
2485e41f4b71Sopenharmony_citype TypedArrayMapCallback\<ElementType, ArrayType> = (value: ElementType, index: number, array: ArrayType) => ElementType
2486e41f4b71Sopenharmony_ci
2487e41f4b71Sopenharmony_ciArkTS TypedArray转换映射函数类型。
2488e41f4b71Sopenharmony_ci
2489e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
2490e41f4b71Sopenharmony_ci
2491e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
2492e41f4b71Sopenharmony_ci
2493e41f4b71Sopenharmony_ci**参数:**
2494e41f4b71Sopenharmony_ci
2495e41f4b71Sopenharmony_ci| 参数名  | 类型   | 必填 | 说明                          |
2496e41f4b71Sopenharmony_ci| ------- | ------ | ---- | --------------------------- |
2497e41f4b71Sopenharmony_ci| value | ElementType | 是 | 当前映射的ArkTS TypedArray元素。 |
2498e41f4b71Sopenharmony_ci| index | number | 是 | 当前映射的ArkTS TypedArray元素下标。 |
2499e41f4b71Sopenharmony_ci| array | ArrayType | 是 | 当前映射的ArkTS TypedArray实例。 |
2500e41f4b71Sopenharmony_ci
2501e41f4b71Sopenharmony_ci**返回值:**
2502e41f4b71Sopenharmony_ci
2503e41f4b71Sopenharmony_ci| 类型   | 说明                          |
2504e41f4b71Sopenharmony_ci| ------ | --------------------------- |
2505e41f4b71Sopenharmony_ci| ElementType | 转换后的元素值。 |
2506e41f4b71Sopenharmony_ci
2507e41f4b71Sopenharmony_ci## TypedArrayReduceCallback
2508e41f4b71Sopenharmony_citype TypedArrayReduceCallback\<AccType, ElementType, ArrayType> = (previousValue: AccType, currentValue: ElementType, currentIndex: number, array: ArrayType) => AccType
2509e41f4b71Sopenharmony_ci
2510e41f4b71Sopenharmony_ciArkTS TypedArray归约函数类型。
2511e41f4b71Sopenharmony_ci
2512e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
2513e41f4b71Sopenharmony_ci
2514e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
2515e41f4b71Sopenharmony_ci
2516e41f4b71Sopenharmony_ci**参数:**
2517e41f4b71Sopenharmony_ci
2518e41f4b71Sopenharmony_ci| 参数名  | 类型   | 必填 | 说明                          |
2519e41f4b71Sopenharmony_ci| ------- | ------ | ---- | --------------------------- |
2520e41f4b71Sopenharmony_ci| previousValue | AccType | 是 | 当前遍历所累积的值。|
2521e41f4b71Sopenharmony_ci| currentValue | ElementType | 是 | 当前遍历的ArkTS TypedArray元素。 |
2522e41f4b71Sopenharmony_ci| currentIndex | number | 是 | 当前遍历的ArkTS TypedArray元素下标。 |
2523e41f4b71Sopenharmony_ci| array | ArrayType | 是 | 当前遍历的ArkTS TypedArray实例。 |
2524e41f4b71Sopenharmony_ci
2525e41f4b71Sopenharmony_ci**返回值:**
2526e41f4b71Sopenharmony_ci
2527e41f4b71Sopenharmony_ci| 类型   | 说明                          |
2528e41f4b71Sopenharmony_ci| ------ | --------------------------- |
2529e41f4b71Sopenharmony_ci| AccType | 归约函数的结果。该结果会作为下一次调用TypedArrayReduceCallback时的previousValue参数。 |
2530e41f4b71Sopenharmony_ci
2531e41f4b71Sopenharmony_ci## TypedArrayCompareFn
2532e41f4b71Sopenharmony_citype TypedArrayCompareFn\<ElementType> = (first: ElementType, second: ElementType) => number
2533e41f4b71Sopenharmony_ci
2534e41f4b71Sopenharmony_ciArkTS TypedArray排序函数类型。
2535e41f4b71Sopenharmony_ci
2536e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
2537e41f4b71Sopenharmony_ci
2538e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
2539e41f4b71Sopenharmony_ci
2540e41f4b71Sopenharmony_ci**参数:**
2541e41f4b71Sopenharmony_ci
2542e41f4b71Sopenharmony_ci| 参数名  | 类型   | 必填 | 说明                          |
2543e41f4b71Sopenharmony_ci| ------- | ------ | ---- | --------------------------- |
2544e41f4b71Sopenharmony_ci| first | ElementType | 是 | 当前待比较的第一个元素。 |
2545e41f4b71Sopenharmony_ci| second | ElementType | 是 | 当前待比较的第二个元素。 |
2546e41f4b71Sopenharmony_ci
2547e41f4b71Sopenharmony_ci**返回值:**
2548e41f4b71Sopenharmony_ci
2549e41f4b71Sopenharmony_ci| 类型   | 说明                          |
2550e41f4b71Sopenharmony_ci| ------ | --------------------------- |
2551e41f4b71Sopenharmony_ci| number | 元素比较的结果。如果`first`小于`second`,返回值为负数;如果`first`大于`second`,返回值为正数;如果两个值相等,返回值为0。 |
2552e41f4b71Sopenharmony_ci
2553e41f4b71Sopenharmony_ci## collections.TypedArray
2554e41f4b71Sopenharmony_ci
2555e41f4b71Sopenharmony_ci一种线性数据结构,底层基于[ArkTS ArrayBuffer](#collectionsarraybuffer)实现。目前支持包括Int8Array、Uint8Array、Int16Array、Uint16Array、Int32Array、Uint32Array、Uint8ClampedArray以及Float32Array。
2556e41f4b71Sopenharmony_ci
2557e41f4b71Sopenharmony_ci文档中存在泛型的使用,涉及以下泛型标记符:
2558e41f4b71Sopenharmony_ci- TypedArray: 指上述8种具体的ArkTS TypedArray。
2559e41f4b71Sopenharmony_ci
2560e41f4b71Sopenharmony_ci### 属性
2561e41f4b71Sopenharmony_ci
2562e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
2563e41f4b71Sopenharmony_ci
2564e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
2565e41f4b71Sopenharmony_ci
2566e41f4b71Sopenharmony_ci| 名称   | 类型   | 只读 | 可选 | 说明              |
2567e41f4b71Sopenharmony_ci| ------ | ------ | ---- | ---- | ----------------|
2568e41f4b71Sopenharmony_ci| buffer | ArrayBuffer | 是   | 否  | ArkTS TypedArray底层使用的buffer。|
2569e41f4b71Sopenharmony_ci| byteLength | number | 是   | 否   | ArkTS TypedArray的所占的字节数。|
2570e41f4b71Sopenharmony_ci| byteOffset | number | 是   | 否   | ArkTS TypedArray距离其ArrayBuffer起始位置的偏移。|
2571e41f4b71Sopenharmony_ci| length | number | 是   | 否  | ArkTS TypedArray元素个数。|
2572e41f4b71Sopenharmony_ci| BYTES_PER_ELEMENT | number | 是   | 否   | ArkTS TypedArray中每个元素所占用的字节数。|
2573e41f4b71Sopenharmony_ci
2574e41f4b71Sopenharmony_ci### constructor
2575e41f4b71Sopenharmony_ciconstructor()
2576e41f4b71Sopenharmony_ci
2577e41f4b71Sopenharmony_ci构造函数,用于创建一个空ArkTS TypedArray对象。
2578e41f4b71Sopenharmony_ci
2579e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
2580e41f4b71Sopenharmony_ci
2581e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
2582e41f4b71Sopenharmony_ci
2583e41f4b71Sopenharmony_ci**错误码:**
2584e41f4b71Sopenharmony_ci
2585e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
2586e41f4b71Sopenharmony_ci
2587e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                                |
2588e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------------- |
2589e41f4b71Sopenharmony_ci| 10200012 | The TypedArray's constructor cannot be directly invoked. |
2590e41f4b71Sopenharmony_ci
2591e41f4b71Sopenharmony_ci**示例:**
2592e41f4b71Sopenharmony_ci
2593e41f4b71Sopenharmony_ci```ts
2594e41f4b71Sopenharmony_cilet int8Array: collections.Int8Array = new collections.Int8Array();
2595e41f4b71Sopenharmony_cilet uint8Array: collections.Uint8Array = new collections.Uint8Array();
2596e41f4b71Sopenharmony_cilet int16Array: collections.Int16Array = new collections.Int16Array();
2597e41f4b71Sopenharmony_cilet uint16Array: collections.Uint16Array = new collections.Uint16Array();
2598e41f4b71Sopenharmony_cilet int32Array: collections.Int32Array = new collections.Int32Array();
2599e41f4b71Sopenharmony_cilet uint32Array: collections.Uint32Array = new collections.Uint32Array();
2600e41f4b71Sopenharmony_cilet uint8ClampedArray: collections.Uint8ClampedArray = new collections.Uint8ClampedArray();
2601e41f4b71Sopenharmony_cilet float32Array: collections.Float32Array = new collections.Float32Array();
2602e41f4b71Sopenharmony_ci```
2603e41f4b71Sopenharmony_ci
2604e41f4b71Sopenharmony_ci### constructor
2605e41f4b71Sopenharmony_ciconstructor(length: number)
2606e41f4b71Sopenharmony_ci
2607e41f4b71Sopenharmony_ci构造函数,用于创建一个指定长度的ArkTS TypedArray对象。
2608e41f4b71Sopenharmony_ci
2609e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
2610e41f4b71Sopenharmony_ci
2611e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
2612e41f4b71Sopenharmony_ci
2613e41f4b71Sopenharmony_ci**参数:**
2614e41f4b71Sopenharmony_ci
2615e41f4b71Sopenharmony_ci| 参数名  | 类型   | 必填 | 说明                          |
2616e41f4b71Sopenharmony_ci| ------- | ------ | ---- | --------------------------- |
2617e41f4b71Sopenharmony_ci| length | number | 是 | 用于指定ArkTS TypedArray的长度。 |
2618e41f4b71Sopenharmony_ci
2619e41f4b71Sopenharmony_ci**错误码:**
2620e41f4b71Sopenharmony_ci
2621e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
2622e41f4b71Sopenharmony_ci
2623e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                                  |
2624e41f4b71Sopenharmony_ci| -------- | -------------------------------------------------------  |
2625e41f4b71Sopenharmony_ci| 10200012 | The TypedArray's constructor cannot be directly invoked. |
2626e41f4b71Sopenharmony_ci
2627e41f4b71Sopenharmony_ci
2628e41f4b71Sopenharmony_ci**示例:**
2629e41f4b71Sopenharmony_ci
2630e41f4b71Sopenharmony_ci```ts
2631e41f4b71Sopenharmony_ci// 以长度参数构造对象
2632e41f4b71Sopenharmony_cilet int8Array: collections.Int8Array = new collections.Int8Array(12);
2633e41f4b71Sopenharmony_cilet uint8Array: collections.Uint8Array = new collections.Uint8Array(12);
2634e41f4b71Sopenharmony_cilet int16Array: collections.Int16Array = new collections.Int16Array(12);
2635e41f4b71Sopenharmony_cilet uint16Array: collections.Uint16Array = new collections.Uint16Array(12);
2636e41f4b71Sopenharmony_cilet int32Array: collections.Int32Array = new collections.Int32Array(12);
2637e41f4b71Sopenharmony_cilet uint32Array: collections.Uint32Array = new collections.Uint32Array(12);
2638e41f4b71Sopenharmony_cilet uint8ClampedArray: collections.Uint8ClampedArray = new collections.Uint8ClampedArray(12);
2639e41f4b71Sopenharmony_cilet float32Array: collections.Float32Array = new collections.Float32Array(12);
2640e41f4b71Sopenharmony_ci```
2641e41f4b71Sopenharmony_ci
2642e41f4b71Sopenharmony_ci### constructor
2643e41f4b71Sopenharmony_ciconstructor(array: ArrayLike\<number> | ArrayBuffer)
2644e41f4b71Sopenharmony_ci
2645e41f4b71Sopenharmony_ci构造函数,以ArrayLike或ArkTS ArrayBuffer创建一个ArkTS TypedArray对象。
2646e41f4b71Sopenharmony_ci
2647e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
2648e41f4b71Sopenharmony_ci
2649e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
2650e41f4b71Sopenharmony_ci
2651e41f4b71Sopenharmony_ci**参数:**
2652e41f4b71Sopenharmony_ci
2653e41f4b71Sopenharmony_ci| 参数名  | 类型   | 必填 | 说明                                                         |
2654e41f4b71Sopenharmony_ci| ------- | ------ | ---- | ------------------------------------------------------------ |
2655e41f4b71Sopenharmony_ci| array |  ArrayLike\<number> \| ArrayBuffer | 是 | 用于构造ArkTS TypedArray的对象。当参数类型是ArrayBuffer时buffer所占的字节数须是4的整数倍。 |
2656e41f4b71Sopenharmony_ci
2657e41f4b71Sopenharmony_ci**错误码:**
2658e41f4b71Sopenharmony_ci
2659e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
2660e41f4b71Sopenharmony_ci
2661e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                                |
2662e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------------- |
2663e41f4b71Sopenharmony_ci| 10200012 | The TypedArray's constructor cannot be directly invoked. |
2664e41f4b71Sopenharmony_ci
2665e41f4b71Sopenharmony_ci**示例:**
2666e41f4b71Sopenharmony_ci
2667e41f4b71Sopenharmony_ci```ts
2668e41f4b71Sopenharmony_ci// 例1 从一个ArrayLike构造对象
2669e41f4b71Sopenharmony_cilet arrayLike = [1, 3, 5];
2670e41f4b71Sopenharmony_cilet array: collections.Uint32Array = new collections.Uint32Array(arrayLike);
2671e41f4b71Sopenharmony_ci```
2672e41f4b71Sopenharmony_ci
2673e41f4b71Sopenharmony_ci```ts
2674e41f4b71Sopenharmony_ci// 例2 从一个ArrayBuffer构造对象
2675e41f4b71Sopenharmony_cilet arrayBuffer: collections.ArrayBuffer = new collections.ArrayBuffer(12);
2676e41f4b71Sopenharmony_cilet array: collections.Uint32Array = new collections.Uint32Array(arrayBuffer);
2677e41f4b71Sopenharmony_ci```
2678e41f4b71Sopenharmony_ci
2679e41f4b71Sopenharmony_ci```ts
2680e41f4b71Sopenharmony_ci// 例3 从另一ArkTS TypedArray构造对象
2681e41f4b71Sopenharmony_cilet arrayLike = [1, 3, 5];
2682e41f4b71Sopenharmony_cilet uint8Array: collections.Uint8Array = new collections.Uint8Array(arrayLike);
2683e41f4b71Sopenharmony_ci// Uint8Array [1, 3, 5]
2684e41f4b71Sopenharmony_cilet uint32Array: collections.Uint32Array = new collections.Uint32Array(uint8Array);
2685e41f4b71Sopenharmony_ci// Uint32Array [1, 3, 5]
2686e41f4b71Sopenharmony_ci```
2687e41f4b71Sopenharmony_ci
2688e41f4b71Sopenharmony_ci### constructor
2689e41f4b71Sopenharmony_ciconstructor(buffer: ArrayBuffer, byteOffset?: number, length?: number)
2690e41f4b71Sopenharmony_ci
2691e41f4b71Sopenharmony_ci构造函数,以ArrayBuffer创建一个ArkTS TypedArray对象。
2692e41f4b71Sopenharmony_ci
2693e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
2694e41f4b71Sopenharmony_ci
2695e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
2696e41f4b71Sopenharmony_ci
2697e41f4b71Sopenharmony_ci**参数:**
2698e41f4b71Sopenharmony_ci
2699e41f4b71Sopenharmony_ci| 参数名  | 类型   | 必填 | 说明                                         |
2700e41f4b71Sopenharmony_ci| ------- | ------ | ---- | ------------------------------------------ |
2701e41f4b71Sopenharmony_ci| buffer | ArrayBuffer | 是 | 用于构造ArkTS TypedArray的ArrayBuffer对象。buffer所占的字节数须是4的整数倍。|
2702e41f4b71Sopenharmony_ci| byteOffset | number | 否 | 指定buffer的字节偏移,默认为0。 |
2703e41f4b71Sopenharmony_ci| length | number | 否 | 指定ArkTS TypedArray的长度,默认为0。 |
2704e41f4b71Sopenharmony_ci
2705e41f4b71Sopenharmony_ci**错误码:**
2706e41f4b71Sopenharmony_ci
2707e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
2708e41f4b71Sopenharmony_ci
2709e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                                   |
2710e41f4b71Sopenharmony_ci| -------- | -------------------------------------------------------   |
2711e41f4b71Sopenharmony_ci| 10200012 | The TypedArray's constructor cannot be directly invoked. |
2712e41f4b71Sopenharmony_ci
2713e41f4b71Sopenharmony_ci**示例:**
2714e41f4b71Sopenharmony_ci
2715e41f4b71Sopenharmony_ci```ts
2716e41f4b71Sopenharmony_cilet int32Array: collections.Int32Array = collections.Int32Array.from([1, 2, 3, 4, 5, 6]);
2717e41f4b71Sopenharmony_ciconsole.info("byteLength: " + int32Array.buffer.byteLength) // byteLength: 24
2718e41f4b71Sopenharmony_ci// 从int32Array对应buffer第4个字节开始,长度为5
2719e41f4b71Sopenharmony_cilet uint32Array: collections.Uint32Array = new collections.Uint32Array(int32Array.buffer, 4, 5);
2720e41f4b71Sopenharmony_ciconsole.info("[" + uint32Array + "]"); // [2, 3, 4, 5, 6]
2721e41f4b71Sopenharmony_ci```
2722e41f4b71Sopenharmony_ci
2723e41f4b71Sopenharmony_ci### from
2724e41f4b71Sopenharmony_cistatic from(arrayLike: ArrayLike\<number>): TypedArray
2725e41f4b71Sopenharmony_ci
2726e41f4b71Sopenharmony_ci从一个ArrayLike或者可迭代对象中创建一个ArkTS TypedArray对象。
2727e41f4b71Sopenharmony_ci
2728e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
2729e41f4b71Sopenharmony_ci
2730e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
2731e41f4b71Sopenharmony_ci
2732e41f4b71Sopenharmony_ci**参数:**
2733e41f4b71Sopenharmony_ci
2734e41f4b71Sopenharmony_ci| 参数名  | 类型   | 必填 | 说明                                                  |
2735e41f4b71Sopenharmony_ci| ------- | ------ | ---- | --------------------------------------------------- |
2736e41f4b71Sopenharmony_ci| arrayLike | ArrayLike\<number> | 是 | 用于构造ArkTS TypedArray的ArrayLike对象。 |
2737e41f4b71Sopenharmony_ci
2738e41f4b71Sopenharmony_ci**返回值:**
2739e41f4b71Sopenharmony_ci
2740e41f4b71Sopenharmony_ci| 类型         | 说明      |
2741e41f4b71Sopenharmony_ci| ------------ | --------- |
2742e41f4b71Sopenharmony_ci| TypedArray | 新创建的ArkTS TypedArray对象。|
2743e41f4b71Sopenharmony_ci
2744e41f4b71Sopenharmony_ci**示例:**
2745e41f4b71Sopenharmony_ci```ts
2746e41f4b71Sopenharmony_cilet arrayLike = [1, 3, 5];
2747e41f4b71Sopenharmony_cilet array: collections.Uint32Array = collections.Uint32Array.from(arrayLike);
2748e41f4b71Sopenharmony_ci// Uint32Array [1, 3, 5]
2749e41f4b71Sopenharmony_ci```
2750e41f4b71Sopenharmony_ci
2751e41f4b71Sopenharmony_ci### from
2752e41f4b71Sopenharmony_cistatic from\<T>(arrayLike: ArrayLike\<T>, mapFn: TypedArrayFromMapFn\<T, number>): TypedArray
2753e41f4b71Sopenharmony_ci
2754e41f4b71Sopenharmony_ci从一个ArrayLike中创建一个ArkTS TypedArray对象。
2755e41f4b71Sopenharmony_ci
2756e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
2757e41f4b71Sopenharmony_ci
2758e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
2759e41f4b71Sopenharmony_ci
2760e41f4b71Sopenharmony_ci**参数:**
2761e41f4b71Sopenharmony_ci| 参数名  | 类型   | 必填 | 说明                                        |
2762e41f4b71Sopenharmony_ci| ------- | ------ | ---- | ------------------------------------------|
2763e41f4b71Sopenharmony_ci| arrayLike | ArrayLike\<T> | 是 | 用于构造ArrayLike对象。              |
2764e41f4b71Sopenharmony_ci| mapFn | [TypedArrayFromMapFn](#typedarrayfrommapfn)\<T, number> | 是 | 映射函数。|
2765e41f4b71Sopenharmony_ci
2766e41f4b71Sopenharmony_ci**返回值:**
2767e41f4b71Sopenharmony_ci
2768e41f4b71Sopenharmony_ci| 类型         | 说明      |
2769e41f4b71Sopenharmony_ci| ------------ | --------- |
2770e41f4b71Sopenharmony_ci| TypedArray | 新创建的ArkTS TypedArray对象。|
2771e41f4b71Sopenharmony_ci
2772e41f4b71Sopenharmony_ci**示例:**
2773e41f4b71Sopenharmony_ci
2774e41f4b71Sopenharmony_ci```ts
2775e41f4b71Sopenharmony_ci// 例1 从一个对象创建
2776e41f4b71Sopenharmony_cilet array: collections.Uint32Array = collections.Uint32Array.from<number>(
2777e41f4b71Sopenharmony_ci  { length: 5 }, (v: Object, k: number) => k);
2778e41f4b71Sopenharmony_ci// Uint32Array [0, 1, 2, 3, 4]
2779e41f4b71Sopenharmony_ci```
2780e41f4b71Sopenharmony_ci
2781e41f4b71Sopenharmony_ci```ts
2782e41f4b71Sopenharmony_ci// 例2 从一个字符数组创建
2783e41f4b71Sopenharmony_cilet array: collections.Uint32Array = collections.Uint32Array.from<string>(
2784e41f4b71Sopenharmony_ci  ["1", "3", "5"], (v: string, k: number) => parseInt(v));
2785e41f4b71Sopenharmony_ci// Uint32Array [1, 3, 5]
2786e41f4b71Sopenharmony_ci```
2787e41f4b71Sopenharmony_ci
2788e41f4b71Sopenharmony_ci```ts
2789e41f4b71Sopenharmony_ci// 例3 从一个字符串创建
2790e41f4b71Sopenharmony_cilet array: collections.Uint32Array = collections.Uint32Array.from<string>(
2791e41f4b71Sopenharmony_ci  "12345", (v: string, k: number) => parseInt(v));
2792e41f4b71Sopenharmony_ci// Uint32Array [1, 2, 3, 4, 5]
2793e41f4b71Sopenharmony_ci```
2794e41f4b71Sopenharmony_ci
2795e41f4b71Sopenharmony_ci### from
2796e41f4b71Sopenharmony_cistatic from(iterable: Iterable\<number>, mapFn?: TypedArrayFromMapFn\<number, number>): TypedArray
2797e41f4b71Sopenharmony_ci
2798e41f4b71Sopenharmony_ci从一个可迭代对象中创建一个ArkTS TypedArray对象。
2799e41f4b71Sopenharmony_ci
2800e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
2801e41f4b71Sopenharmony_ci
2802e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
2803e41f4b71Sopenharmony_ci
2804e41f4b71Sopenharmony_ci**参数:**
2805e41f4b71Sopenharmony_ci| 参数名  | 类型   | 必填 | 说明                                |
2806e41f4b71Sopenharmony_ci| ------- | ------ | ---- | -----------------------------------|
2807e41f4b71Sopenharmony_ci| iterable | Iterable\<number> | 是 | 用于构造的可迭代对象。   |
2808e41f4b71Sopenharmony_ci| mapFn | [TypedArrayFromMapFn](#typedarrayfrommapfn)\<number, number> | 否 | 映射函数。如果省略,则不对元素进行加工处理。|
2809e41f4b71Sopenharmony_ci
2810e41f4b71Sopenharmony_ci**返回值:**
2811e41f4b71Sopenharmony_ci
2812e41f4b71Sopenharmony_ci| 类型         | 说明      |
2813e41f4b71Sopenharmony_ci| ------------ | --------- |
2814e41f4b71Sopenharmony_ci| TypedArray | 新创建的ArkTS TypedArray对象。|
2815e41f4b71Sopenharmony_ci
2816e41f4b71Sopenharmony_ci**示例:**
2817e41f4b71Sopenharmony_ci
2818e41f4b71Sopenharmony_ci```ts
2819e41f4b71Sopenharmony_ci// 例1 不指定映射函数
2820e41f4b71Sopenharmony_cilet set: Set<number> = new Set<number>([1, 2, 3]);
2821e41f4b71Sopenharmony_cilet array: collections.Uint32Array = collections.Uint32Array.from(set);
2822e41f4b71Sopenharmony_ci// Uint32Array [1, 2, 3]
2823e41f4b71Sopenharmony_ci```
2824e41f4b71Sopenharmony_ci
2825e41f4b71Sopenharmony_ci```ts
2826e41f4b71Sopenharmony_ci// 例2 指定映射函数
2827e41f4b71Sopenharmony_cilet set: Set<number> = new Set<number>([1, 2, 3]);
2828e41f4b71Sopenharmony_cilet array: collections.Uint32Array = collections.Uint32Array.from(
2829e41f4b71Sopenharmony_ci  set, (v: number, k: number) => v + k);
2830e41f4b71Sopenharmony_ci// Uint32Array [1, 3, 5]
2831e41f4b71Sopenharmony_ci```
2832e41f4b71Sopenharmony_ci
2833e41f4b71Sopenharmony_ci### copyWithin
2834e41f4b71Sopenharmony_cicopyWithin(target: number, start: number, end?: number): TypedArray
2835e41f4b71Sopenharmony_ci
2836e41f4b71Sopenharmony_ci从ArkTS TypedArray指定范围内的元素依次拷贝到目标位置。
2837e41f4b71Sopenharmony_ci
2838e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
2839e41f4b71Sopenharmony_ci
2840e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
2841e41f4b71Sopenharmony_ci
2842e41f4b71Sopenharmony_ci**参数:**
2843e41f4b71Sopenharmony_ci
2844e41f4b71Sopenharmony_ci| 参数名  | 类型   | 必填 | 说明                                                         |
2845e41f4b71Sopenharmony_ci| ------- | ------ | ---- | ------------------------------------------------------------ |
2846e41f4b71Sopenharmony_ci| target | number | 是 | 目标起始位置的下标。 |
2847e41f4b71Sopenharmony_ci| start | number | 是 | 源起始位置下标,如果`start < 0`,则会从`start + typedarray.length`位置开始。 |
2848e41f4b71Sopenharmony_ci| end | number | 否 | 源终止位置下标,如果`end < 0`,则会从`end + typedarray.length`位置终止。默认为ArkTS TypedArray的长度。|
2849e41f4b71Sopenharmony_ci
2850e41f4b71Sopenharmony_ci**返回值:**
2851e41f4b71Sopenharmony_ci
2852e41f4b71Sopenharmony_ci| 类型         | 说明      |
2853e41f4b71Sopenharmony_ci| ------------ | --------- |
2854e41f4b71Sopenharmony_ci| TypedArray | 修改后的TypedArray。 |
2855e41f4b71Sopenharmony_ci
2856e41f4b71Sopenharmony_ci**错误码:**
2857e41f4b71Sopenharmony_ci
2858e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
2859e41f4b71Sopenharmony_ci
2860e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                          |
2861e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------ |
2862e41f4b71Sopenharmony_ci| 10200011 | The copyWithin method cannot be bound.           |
2863e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification exception.               |
2864e41f4b71Sopenharmony_ci
2865e41f4b71Sopenharmony_ci**示例:**
2866e41f4b71Sopenharmony_ci
2867e41f4b71Sopenharmony_ci```ts
2868e41f4b71Sopenharmony_cilet array: collections.Uint32Array = collections.Uint32Array.from([1, 2, 3, 4, 5, 6, 7, 8]);
2869e41f4b71Sopenharmony_cilet copied: collections.Uint32Array = array.copyWithin(3, 1, 3);
2870e41f4b71Sopenharmony_ci// Uint32Array [1, 2, 3, 2, 3, 6, 7, 8]
2871e41f4b71Sopenharmony_ci```
2872e41f4b71Sopenharmony_ci
2873e41f4b71Sopenharmony_ci### some
2874e41f4b71Sopenharmony_cisome(predicate: TypedArrayPredicateFn\<number, TypedArray>): boolean
2875e41f4b71Sopenharmony_ci
2876e41f4b71Sopenharmony_ci测试ArkTS TypedArray中的是否存在元素满足指定条件。
2877e41f4b71Sopenharmony_ci
2878e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
2879e41f4b71Sopenharmony_ci
2880e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
2881e41f4b71Sopenharmony_ci
2882e41f4b71Sopenharmony_ci**参数:**
2883e41f4b71Sopenharmony_ci
2884e41f4b71Sopenharmony_ci| 参数名  | 类型   | 必填 | 说明                                                  |
2885e41f4b71Sopenharmony_ci| ------- | ------ | ---- | ---------------------------------------------------- |
2886e41f4b71Sopenharmony_ci| predicate | [TypedArrayPredicateFn](#typedarraypredicatefn)\<number, TypedArray> | 是 | 用于测试的断言函数。|
2887e41f4b71Sopenharmony_ci
2888e41f4b71Sopenharmony_ci**返回值:**
2889e41f4b71Sopenharmony_ci
2890e41f4b71Sopenharmony_ci| 类型         | 说明      |
2891e41f4b71Sopenharmony_ci| ------------ | --------- |
2892e41f4b71Sopenharmony_ci| boolean | 如果存在元素满足指定条件返回true,否则返回false。|
2893e41f4b71Sopenharmony_ci
2894e41f4b71Sopenharmony_ci**错误码:**
2895e41f4b71Sopenharmony_ci
2896e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
2897e41f4b71Sopenharmony_ci
2898e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                            |
2899e41f4b71Sopenharmony_ci| -------- | ---------------------------------- |
2900e41f4b71Sopenharmony_ci| 10200011 | The some method cannot be bound.   |
2901e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification exception. |
2902e41f4b71Sopenharmony_ci
2903e41f4b71Sopenharmony_ci**示例:**
2904e41f4b71Sopenharmony_ci
2905e41f4b71Sopenharmony_ci```ts
2906e41f4b71Sopenharmony_cilet arrayLike = [-10, 20, -30, 40, -50];
2907e41f4b71Sopenharmony_cilet uint32Array: collections.Uint32Array = new collections.Uint32Array(arrayLike);
2908e41f4b71Sopenharmony_ciuint32Array.some((element: number) => element < 0); // false
2909e41f4b71Sopenharmony_ci
2910e41f4b71Sopenharmony_cilet int32Array: collections.Int32Array = new collections.Int32Array(arrayLike);
2911e41f4b71Sopenharmony_ciint32Array.some((element: number) => element < 0); // true
2912e41f4b71Sopenharmony_ci```
2913e41f4b71Sopenharmony_ci
2914e41f4b71Sopenharmony_ci### every
2915e41f4b71Sopenharmony_cievery(predicate: TypedArrayPredicateFn\<number, TypedArray>): boolean
2916e41f4b71Sopenharmony_ci
2917e41f4b71Sopenharmony_ci测试ArkTS TypedArray中的所有元素是否满足指定条件。
2918e41f4b71Sopenharmony_ci
2919e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
2920e41f4b71Sopenharmony_ci
2921e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
2922e41f4b71Sopenharmony_ci
2923e41f4b71Sopenharmony_ci**参数:**
2924e41f4b71Sopenharmony_ci
2925e41f4b71Sopenharmony_ci| 参数名  | 类型   | 必填 | 说明                                                    |
2926e41f4b71Sopenharmony_ci| ------- | ------ | ---- | ----------------------------------------------------- |
2927e41f4b71Sopenharmony_ci| predicate | [TypedArrayPredicateFn](#typedarraypredicatefn)\<number, TypedArray> | 是 | 用于测试的断言函数。|
2928e41f4b71Sopenharmony_ci
2929e41f4b71Sopenharmony_ci**返回值:**
2930e41f4b71Sopenharmony_ci
2931e41f4b71Sopenharmony_ci| 类型         | 说明      |
2932e41f4b71Sopenharmony_ci| ------------ | --------- |
2933e41f4b71Sopenharmony_ci| boolean | 如果所有元素都满足指定条件则返回true,否则返回false。|
2934e41f4b71Sopenharmony_ci
2935e41f4b71Sopenharmony_ci**错误码:**
2936e41f4b71Sopenharmony_ci
2937e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
2938e41f4b71Sopenharmony_ci
2939e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                          |
2940e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------- |
2941e41f4b71Sopenharmony_ci| 10200011 | The every method cannot be bound. |
2942e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification exception. |
2943e41f4b71Sopenharmony_ci
2944e41f4b71Sopenharmony_ci**示例:**
2945e41f4b71Sopenharmony_ci
2946e41f4b71Sopenharmony_ci```ts
2947e41f4b71Sopenharmony_cilet arrayLike = [-10, 20, -30, 40, -50];
2948e41f4b71Sopenharmony_cilet uint32Array: collections.Uint32Array = new collections.Uint32Array(arrayLike);
2949e41f4b71Sopenharmony_ciuint32Array.every((element: number) => element > 0); // true
2950e41f4b71Sopenharmony_ci
2951e41f4b71Sopenharmony_cilet int32Array: collections.Int32Array = new collections.Int32Array(arrayLike);
2952e41f4b71Sopenharmony_ciint32Array.every((element: number) => element > 0);  // false
2953e41f4b71Sopenharmony_ci```
2954e41f4b71Sopenharmony_ci
2955e41f4b71Sopenharmony_ci### fill
2956e41f4b71Sopenharmony_cifill(value: number, start?: number, end?: number): TypedArray
2957e41f4b71Sopenharmony_ci
2958e41f4b71Sopenharmony_ci使用特定值填充ArkTS TypedArray指定范围的全部元素。
2959e41f4b71Sopenharmony_ci
2960e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
2961e41f4b71Sopenharmony_ci
2962e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
2963e41f4b71Sopenharmony_ci
2964e41f4b71Sopenharmony_ci**参数:**
2965e41f4b71Sopenharmony_ci
2966e41f4b71Sopenharmony_ci| 参数名  | 类型   | 必填 | 说明                                                      |
2967e41f4b71Sopenharmony_ci| ------- | ------ | ---- | --------------------------------------------------------|
2968e41f4b71Sopenharmony_ci| value | number | 是 | 待填充的值。|
2969e41f4b71Sopenharmony_ci| start | number | 否 | 开始填充的索引,如果`start < 0`,则会从`start + typedarray.length`位置开始。默认值为0。|
2970e41f4b71Sopenharmony_ci| end | number | 否 | 结束填充的索引,如果`end < 0`,则会到`end + typedarray.length`位置结束。默认为ArkTS TypedArray的长度。|
2971e41f4b71Sopenharmony_ci
2972e41f4b71Sopenharmony_ci**返回值:**
2973e41f4b71Sopenharmony_ci
2974e41f4b71Sopenharmony_ci| 类型         | 说明      |
2975e41f4b71Sopenharmony_ci| ------------ | --------- |
2976e41f4b71Sopenharmony_ci| TypedArray | 填充后的TypedArray。|
2977e41f4b71Sopenharmony_ci
2978e41f4b71Sopenharmony_ci**错误码:**
2979e41f4b71Sopenharmony_ci
2980e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
2981e41f4b71Sopenharmony_ci
2982e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                          |
2983e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------- |
2984e41f4b71Sopenharmony_ci| 10200011 | The fill method cannot be bound. |
2985e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification exception. |
2986e41f4b71Sopenharmony_ci
2987e41f4b71Sopenharmony_ci**示例:**
2988e41f4b71Sopenharmony_ci
2989e41f4b71Sopenharmony_ci```ts
2990e41f4b71Sopenharmony_cilet arrayLike = [1, 2, 3];
2991e41f4b71Sopenharmony_cinew collections.Uint32Array(arrayLike).fill(4); // Uint32Array [4, 4, 4]
2992e41f4b71Sopenharmony_cinew collections.Uint32Array(arrayLike).fill(4, 1); // Uint32Array [1, 4, 4]
2993e41f4b71Sopenharmony_cinew collections.Uint32Array(arrayLike).fill(4, 1, 2); // Uint32Array [1, 4, 3]
2994e41f4b71Sopenharmony_ci```
2995e41f4b71Sopenharmony_ci
2996e41f4b71Sopenharmony_ci### filter
2997e41f4b71Sopenharmony_cifilter(predicate: TypedArrayPredicateFn\<number, TypedArray>): TypedArray
2998e41f4b71Sopenharmony_ci
2999e41f4b71Sopenharmony_ci返回一个新ArkTS TypedArray,其包含满足指定条件的所有元素。
3000e41f4b71Sopenharmony_ci
3001e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
3002e41f4b71Sopenharmony_ci
3003e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
3004e41f4b71Sopenharmony_ci
3005e41f4b71Sopenharmony_ci**参数:**
3006e41f4b71Sopenharmony_ci
3007e41f4b71Sopenharmony_ci| 参数名  | 类型   | 必填 | 说明                                                    |
3008e41f4b71Sopenharmony_ci| ------- | ------ | ---- | ------------------------------------------------------ |
3009e41f4b71Sopenharmony_ci| predicate | [TypedArrayPredicateFn](#typedarraypredicatefn)\<number, TypedArray> | 是 | 用于元素过滤的断言函数。 |
3010e41f4b71Sopenharmony_ci
3011e41f4b71Sopenharmony_ci**返回值:**
3012e41f4b71Sopenharmony_ci
3013e41f4b71Sopenharmony_ci| 类型         | 说明      |
3014e41f4b71Sopenharmony_ci| ------------ | --------- |
3015e41f4b71Sopenharmony_ci| TypedArray| 过滤后的ArkTS TypedArray对象。|
3016e41f4b71Sopenharmony_ci
3017e41f4b71Sopenharmony_ci**错误码:**
3018e41f4b71Sopenharmony_ci
3019e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
3020e41f4b71Sopenharmony_ci
3021e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                          |
3022e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------- |
3023e41f4b71Sopenharmony_ci| 10200011 | The filter method cannot be bound. |
3024e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification exception. |
3025e41f4b71Sopenharmony_ci
3026e41f4b71Sopenharmony_ci**示例:**
3027e41f4b71Sopenharmony_ci
3028e41f4b71Sopenharmony_ci```ts
3029e41f4b71Sopenharmony_cilet array: collections.Uint32Array = collections.Uint32Array.from([0, 1, 2, 3, 4]);
3030e41f4b71Sopenharmony_cilet filtered: collections.Uint32Array = array.filter((element: number) => element % 2 == 0);
3031e41f4b71Sopenharmony_ci// Uint32Array [0, 2, 4]
3032e41f4b71Sopenharmony_ci```
3033e41f4b71Sopenharmony_ci
3034e41f4b71Sopenharmony_ci### find
3035e41f4b71Sopenharmony_cifind(predicate: TypedArrayPredicateFn\<number, TypedArray>): number | undefined
3036e41f4b71Sopenharmony_ci
3037e41f4b71Sopenharmony_ci返回ArkTS TypedArray中第一个满足指定条件的元素的值,如果所有元素都不满足,则返回undefined。
3038e41f4b71Sopenharmony_ci
3039e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
3040e41f4b71Sopenharmony_ci
3041e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
3042e41f4b71Sopenharmony_ci
3043e41f4b71Sopenharmony_ci**参数:**
3044e41f4b71Sopenharmony_ci
3045e41f4b71Sopenharmony_ci| 参数名  | 类型   | 必填 | 说明                                                         |
3046e41f4b71Sopenharmony_ci| ------- | ------ | ---- | ------------------------------------------------------------ |
3047e41f4b71Sopenharmony_ci| predicate | [TypedArrayPredicateFn](#typedarraypredicatefn)\<number, TypedArray> | 是 | 用于元素查找的断言函数。|
3048e41f4b71Sopenharmony_ci
3049e41f4b71Sopenharmony_ci**返回值:**
3050e41f4b71Sopenharmony_ci
3051e41f4b71Sopenharmony_ci| 类型         | 说明      |
3052e41f4b71Sopenharmony_ci| ------------ | --------- |
3053e41f4b71Sopenharmony_ci|  number \| undefined | 第一个满足条件的元素的值;如果所有元素都不满足条件,则返回undefined。|
3054e41f4b71Sopenharmony_ci
3055e41f4b71Sopenharmony_ci**错误码:**
3056e41f4b71Sopenharmony_ci
3057e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
3058e41f4b71Sopenharmony_ci
3059e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                          |
3060e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------- |
3061e41f4b71Sopenharmony_ci| 10200011 | The find method cannot be bound. |
3062e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification exception. |
3063e41f4b71Sopenharmony_ci
3064e41f4b71Sopenharmony_ci**示例:**
3065e41f4b71Sopenharmony_ci
3066e41f4b71Sopenharmony_ci```ts
3067e41f4b71Sopenharmony_cilet array: collections.Uint32Array = collections.Uint32Array.from([0, 1, 2, 3, 4]);
3068e41f4b71Sopenharmony_ciarray.find((element: number) => element > 2); // 3
3069e41f4b71Sopenharmony_ciarray.find((element: number) => element > 4); // undefined
3070e41f4b71Sopenharmony_ci```
3071e41f4b71Sopenharmony_ci
3072e41f4b71Sopenharmony_ci### findIndex
3073e41f4b71Sopenharmony_cifindIndex(predicate: TypedArrayPredicateFn\<number, TypedArray>): number
3074e41f4b71Sopenharmony_ci
3075e41f4b71Sopenharmony_ci返回ArkTS TypedArray中第一个满足指定条件的元素索引,如果所有元素都不满足,则返回-1。
3076e41f4b71Sopenharmony_ci
3077e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
3078e41f4b71Sopenharmony_ci
3079e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
3080e41f4b71Sopenharmony_ci
3081e41f4b71Sopenharmony_ci**参数:**
3082e41f4b71Sopenharmony_ci
3083e41f4b71Sopenharmony_ci| 参数名  | 类型   | 必填 | 说明                                                         |
3084e41f4b71Sopenharmony_ci| ------- | ------ | ---- | ------------------------------------------------------------ |
3085e41f4b71Sopenharmony_ci| predicate | [TypedArrayPredicateFn](#typedarraypredicatefn)\<number, TypedArray> | 是 | 用于元素查找的断言函数。|
3086e41f4b71Sopenharmony_ci
3087e41f4b71Sopenharmony_ci**返回值:**
3088e41f4b71Sopenharmony_ci
3089e41f4b71Sopenharmony_ci| 类型         | 说明      |
3090e41f4b71Sopenharmony_ci| ------------ | --------- |
3091e41f4b71Sopenharmony_ci| number | 第一个满足条件的元素索引;如果所有元素都不满足条件,否返回-1。|
3092e41f4b71Sopenharmony_ci
3093e41f4b71Sopenharmony_ci**错误码:**
3094e41f4b71Sopenharmony_ci
3095e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
3096e41f4b71Sopenharmony_ci
3097e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                          |
3098e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------- |
3099e41f4b71Sopenharmony_ci| 10200011 | The findIndex method cannot be bound. |
3100e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification exception.  |
3101e41f4b71Sopenharmony_ci
3102e41f4b71Sopenharmony_ci**示例:**
3103e41f4b71Sopenharmony_ci
3104e41f4b71Sopenharmony_ci```ts
3105e41f4b71Sopenharmony_ciconst array: collections.Uint32Array = collections.Uint32Array.from([1, 2, 3, 4, 5]);
3106e41f4b71Sopenharmony_cilet foundIndex: number = array.findIndex((element: number) => element % 2 === 0); // 1
3107e41f4b71Sopenharmony_ci```
3108e41f4b71Sopenharmony_ci
3109e41f4b71Sopenharmony_ci### forEach
3110e41f4b71Sopenharmony_ciforEach(callbackFn: TypedArrayForEachCallback\<number, TypedArray>): void
3111e41f4b71Sopenharmony_ci
3112e41f4b71Sopenharmony_ci对ArkTS TypedArray中的每个元素执行提供的回调函数。
3113e41f4b71Sopenharmony_ci
3114e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
3115e41f4b71Sopenharmony_ci
3116e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
3117e41f4b71Sopenharmony_ci
3118e41f4b71Sopenharmony_ci**参数:**
3119e41f4b71Sopenharmony_ci
3120e41f4b71Sopenharmony_ci| 参数名  | 类型   | 必填 | 说明                                                         |
3121e41f4b71Sopenharmony_ci| ------- | ------ | ---- | ------------------------------------------------------------ |
3122e41f4b71Sopenharmony_ci| callbackFn | [TypedArrayForEachCallback](#typedarrayforeachcallback)\<number, TypedArray> | 是 | 用于对每个元素执行的回调函数。|
3123e41f4b71Sopenharmony_ci
3124e41f4b71Sopenharmony_ci
3125e41f4b71Sopenharmony_ci**错误码:**
3126e41f4b71Sopenharmony_ci
3127e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
3128e41f4b71Sopenharmony_ci
3129e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                          |
3130e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------- |
3131e41f4b71Sopenharmony_ci| 10200011 | The forEach method cannot be bound. |
3132e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification exception. |
3133e41f4b71Sopenharmony_ci
3134e41f4b71Sopenharmony_ci**示例:**
3135e41f4b71Sopenharmony_ci
3136e41f4b71Sopenharmony_ci```ts
3137e41f4b71Sopenharmony_cilet uint32Array: collections.Uint32Array = collections.Uint32Array.from([1, 2, 3]);
3138e41f4b71Sopenharmony_ciuint32Array.forEach((value: number, index: number, array: collections.Uint32Array) => {
3139e41f4b71Sopenharmony_ci  console.info(`Element ${value} at index ${index}`);
3140e41f4b71Sopenharmony_ci});
3141e41f4b71Sopenharmony_ci```
3142e41f4b71Sopenharmony_ci
3143e41f4b71Sopenharmony_ci### indexOf
3144e41f4b71Sopenharmony_ciindexOf(searchElement: number, fromIndex?: number): number
3145e41f4b71Sopenharmony_ci
3146e41f4b71Sopenharmony_ci返回在ArkTS TypedArray中给定元素的第一个索引,如果不存在,则返回-1。
3147e41f4b71Sopenharmony_ci
3148e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
3149e41f4b71Sopenharmony_ci
3150e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
3151e41f4b71Sopenharmony_ci
3152e41f4b71Sopenharmony_ci**参数:**
3153e41f4b71Sopenharmony_ci
3154e41f4b71Sopenharmony_ci| 参数名        | 类型   | 必填 | 说明                        |
3155e41f4b71Sopenharmony_ci| ------------- | ------ | ---- | ---------------------------|
3156e41f4b71Sopenharmony_ci| searchElement | number | 是   | 待索引的值。                |
3157e41f4b71Sopenharmony_ci| fromIndex     | number | 否   | 搜索的起始下标。默认值为0。如果下标大于等于ArkTS TypedArray的长度,则返回-1。如果提供的下标值是负数,则被当做距离数组尾部的偏移,从前到后搜索。 |
3158e41f4b71Sopenharmony_ci
3159e41f4b71Sopenharmony_ci**返回值:**
3160e41f4b71Sopenharmony_ci
3161e41f4b71Sopenharmony_ci| 类型         | 说明      |
3162e41f4b71Sopenharmony_ci| ------------ | --------- |
3163e41f4b71Sopenharmony_ci| number | 数组中元素的第一个索引;没有找到,则返回-1。 |
3164e41f4b71Sopenharmony_ci
3165e41f4b71Sopenharmony_ci**错误码:**
3166e41f4b71Sopenharmony_ci
3167e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
3168e41f4b71Sopenharmony_ci
3169e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                          |
3170e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------- |
3171e41f4b71Sopenharmony_ci| 10200011 | The indexOf method cannot be bound. |
3172e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification exception.                |
3173e41f4b71Sopenharmony_ci
3174e41f4b71Sopenharmony_ci**示例:**
3175e41f4b71Sopenharmony_ci
3176e41f4b71Sopenharmony_ci```ts
3177e41f4b71Sopenharmony_cilet array: collections.Uint32Array = collections.Uint32Array.from([3, 5, 9]);
3178e41f4b71Sopenharmony_ciarray.indexOf(3); // 0
3179e41f4b71Sopenharmony_ciarray.indexOf(7); // -1
3180e41f4b71Sopenharmony_ciarray.indexOf(9, 2); // 2
3181e41f4b71Sopenharmony_ciarray.indexOf(9, -2); // 2
3182e41f4b71Sopenharmony_ci```
3183e41f4b71Sopenharmony_ci
3184e41f4b71Sopenharmony_ci### join
3185e41f4b71Sopenharmony_cijoin(separator?: string): string
3186e41f4b71Sopenharmony_ci
3187e41f4b71Sopenharmony_ci将ArkTS TypedArray的所有元素拼接成一个字符串,元素之间使用指定的分隔符分隔。
3188e41f4b71Sopenharmony_ci
3189e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
3190e41f4b71Sopenharmony_ci
3191e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
3192e41f4b71Sopenharmony_ci
3193e41f4b71Sopenharmony_ci**参数:**
3194e41f4b71Sopenharmony_ci
3195e41f4b71Sopenharmony_ci| 参数名    | 类型   | 必填 | 说明                                                 |
3196e41f4b71Sopenharmony_ci| --------- | ------ | ---- | ---------------------------------------------------- |
3197e41f4b71Sopenharmony_ci| separator | string | 否   | 分隔字符串。如果省略,则使用逗号分隔。 |
3198e41f4b71Sopenharmony_ci
3199e41f4b71Sopenharmony_ci**返回值:**
3200e41f4b71Sopenharmony_ci
3201e41f4b71Sopenharmony_ci| 类型         | 说明      |
3202e41f4b71Sopenharmony_ci| ------------ | --------- |
3203e41f4b71Sopenharmony_ci| string | 包含所有元素拼接成的字符串。如果ArkTS TypedArray为空,则返回空字符串。|
3204e41f4b71Sopenharmony_ci
3205e41f4b71Sopenharmony_ci**错误码:**
3206e41f4b71Sopenharmony_ci
3207e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
3208e41f4b71Sopenharmony_ci
3209e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                          |
3210e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------- |
3211e41f4b71Sopenharmony_ci| 10200011 | The join method cannot be bound. |
3212e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification exception.  |
3213e41f4b71Sopenharmony_ci
3214e41f4b71Sopenharmony_ci**示例:**
3215e41f4b71Sopenharmony_ci
3216e41f4b71Sopenharmony_ci```ts
3217e41f4b71Sopenharmony_cilet array: collections.Uint32Array = collections.Uint32Array.from([1, 2, 3, 4, 5]);
3218e41f4b71Sopenharmony_cilet joined: string = array.join('-'); // "1-2-3-4-5"
3219e41f4b71Sopenharmony_ci```
3220e41f4b71Sopenharmony_ci
3221e41f4b71Sopenharmony_ci### map
3222e41f4b71Sopenharmony_cimap(callbackFn: TypedArrayMapCallback\<number, TypedArray>): TypedArray
3223e41f4b71Sopenharmony_ci
3224e41f4b71Sopenharmony_ci对ArkTS TypedArray中的每个元素应用指定的回调函数,并使用结果创建一个新的ArkTS TypedArray对象。
3225e41f4b71Sopenharmony_ci
3226e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
3227e41f4b71Sopenharmony_ci
3228e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
3229e41f4b71Sopenharmony_ci
3230e41f4b71Sopenharmony_ci**参数:**
3231e41f4b71Sopenharmony_ci| 参数名    | 类型   | 必填 | 说明                                                 |
3232e41f4b71Sopenharmony_ci| --------- | ------ | ---- | ---------------------------------------------------- |
3233e41f4b71Sopenharmony_ci| callbackFn | [TypedArrayMapCallback](#typedarraymapcallback)\<number, TypedArray> | 是  | 回调函数。 |
3234e41f4b71Sopenharmony_ci
3235e41f4b71Sopenharmony_ci
3236e41f4b71Sopenharmony_ci**返回值:**
3237e41f4b71Sopenharmony_ci
3238e41f4b71Sopenharmony_ci| 类型         | 说明      |
3239e41f4b71Sopenharmony_ci| ------------ | --------- |
3240e41f4b71Sopenharmony_ci| TypedArray | 新ArkTS TypedArray对象。|
3241e41f4b71Sopenharmony_ci
3242e41f4b71Sopenharmony_ci**错误码:**
3243e41f4b71Sopenharmony_ci
3244e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
3245e41f4b71Sopenharmony_ci
3246e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                          |
3247e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------- |
3248e41f4b71Sopenharmony_ci| 10200011 | The map method cannot be bound. |
3249e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification exception. |
3250e41f4b71Sopenharmony_ci
3251e41f4b71Sopenharmony_ci**示例:**
3252e41f4b71Sopenharmony_ci
3253e41f4b71Sopenharmony_ci```ts
3254e41f4b71Sopenharmony_cilet array: collections.Uint32Array = collections.Uint32Array.from([25, 36, 49]);
3255e41f4b71Sopenharmony_ciconst mapped: collections.Uint32Array = array.map(Math.sqrt); // Uint32Array [5, 6 ,7]
3256e41f4b71Sopenharmony_ci```
3257e41f4b71Sopenharmony_ci
3258e41f4b71Sopenharmony_ci### reduce
3259e41f4b71Sopenharmony_cireduce(callbackFn: TypedArrayReduceCallback\<number, number, TypedArray>): number
3260e41f4b71Sopenharmony_ci
3261e41f4b71Sopenharmony_ci对ArkTS TypedArray中的每个元素执行归约函数,并返回最终的归约结果。
3262e41f4b71Sopenharmony_ci
3263e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
3264e41f4b71Sopenharmony_ci
3265e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
3266e41f4b71Sopenharmony_ci
3267e41f4b71Sopenharmony_ci**参数:**
3268e41f4b71Sopenharmony_ci| 参数名     | 类型   | 必填 |  说明     |
3269e41f4b71Sopenharmony_ci| ---------- | ---------------------- | ---- | ------------------------------------------------------------ |
3270e41f4b71Sopenharmony_ci| callbackFn | [TypedArrayReduceCallback](#typedarrayreducecallback)\<number, number, TypedArray> | 是 | 归约函数。 |
3271e41f4b71Sopenharmony_ci
3272e41f4b71Sopenharmony_ci**返回值:**
3273e41f4b71Sopenharmony_ci
3274e41f4b71Sopenharmony_ci| 类型         | 说明      |
3275e41f4b71Sopenharmony_ci| ------------ | --------- |
3276e41f4b71Sopenharmony_ci| number | 由归约函数返回的结果。|
3277e41f4b71Sopenharmony_ci
3278e41f4b71Sopenharmony_ci**错误码:**
3279e41f4b71Sopenharmony_ci
3280e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
3281e41f4b71Sopenharmony_ci
3282e41f4b71Sopenharmony_ci| 错误码ID |                      错误信息                     |
3283e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------ |
3284e41f4b71Sopenharmony_ci| 10200011 | The reduce method cannot be bound.               |
3285e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification exception.               |
3286e41f4b71Sopenharmony_ci
3287e41f4b71Sopenharmony_ci**示例:**
3288e41f4b71Sopenharmony_ci
3289e41f4b71Sopenharmony_ci```ts
3290e41f4b71Sopenharmony_cilet array: collections.Uint32Array = collections.Uint32Array.from([1, 2, 3, 4, 5]);
3291e41f4b71Sopenharmony_cilet reducedValue: number = array.reduce((accumulator: number, value: number) => accumulator + value);
3292e41f4b71Sopenharmony_ci// reducedValue == 15
3293e41f4b71Sopenharmony_ci```
3294e41f4b71Sopenharmony_ci
3295e41f4b71Sopenharmony_ci### reduce
3296e41f4b71Sopenharmony_cireduce(callbackFn: TypedArrayReduceCallback\<number, number, TypedArray>, initialValue: number): number
3297e41f4b71Sopenharmony_ci
3298e41f4b71Sopenharmony_ci对ArkTS TypedArray中的每个元素执行归约函数,且接收一个初始值作为归约函数首次调用的参数,并返回最终的归约结果。
3299e41f4b71Sopenharmony_ci
3300e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
3301e41f4b71Sopenharmony_ci
3302e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
3303e41f4b71Sopenharmony_ci
3304e41f4b71Sopenharmony_ci**参数:**
3305e41f4b71Sopenharmony_ci| 参数名    | 类型   | 必填 | 说明                                                 |
3306e41f4b71Sopenharmony_ci| --------- | ------ | ---- | --------------------------------------------------- |
3307e41f4b71Sopenharmony_ci| callbackFn | [TypedArrayReduceCallback](#typedarrayreducecallback)\<number, number, TypedArray> | 是  | 归约函数。 |
3308e41f4b71Sopenharmony_ci| initialValue | number | 是  | 初始值。 |
3309e41f4b71Sopenharmony_ci
3310e41f4b71Sopenharmony_ci
3311e41f4b71Sopenharmony_ci**返回值:**
3312e41f4b71Sopenharmony_ci
3313e41f4b71Sopenharmony_ci| 类型         | 说明      |
3314e41f4b71Sopenharmony_ci| ------------ | --------- |
3315e41f4b71Sopenharmony_ci| number | 由归约函数返回的结果。 |
3316e41f4b71Sopenharmony_ci
3317e41f4b71Sopenharmony_ci**错误码:**
3318e41f4b71Sopenharmony_ci
3319e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
3320e41f4b71Sopenharmony_ci
3321e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                          |
3322e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------- |
3323e41f4b71Sopenharmony_ci| 10200011 | The reduce method cannot be bound. |
3324e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification exception. |
3325e41f4b71Sopenharmony_ci
3326e41f4b71Sopenharmony_ci**示例:**
3327e41f4b71Sopenharmony_ci
3328e41f4b71Sopenharmony_ci```ts
3329e41f4b71Sopenharmony_cilet array: collections.Uint32Array = collections.Uint32Array.from([1, 2, 3, 4, 5]);
3330e41f4b71Sopenharmony_cilet reducedValue: number = array.reduce((accumulator: number, value: number) => accumulator + value, 1);
3331e41f4b71Sopenharmony_ci// reducedValue == 16
3332e41f4b71Sopenharmony_ci```
3333e41f4b71Sopenharmony_ci
3334e41f4b71Sopenharmony_ci### reduce
3335e41f4b71Sopenharmony_cireduce\<U>(callbackFn: TypedArrayReduceCallback\<U, number, TypedArray>, initialValue: U): U
3336e41f4b71Sopenharmony_ci
3337e41f4b71Sopenharmony_ci对ArkTS TypedArray中的每个元素执行归约函数,且接收一个初始值作为归约函数首次调用的参数,并返回最终的归约结果。
3338e41f4b71Sopenharmony_ci
3339e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
3340e41f4b71Sopenharmony_ci
3341e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
3342e41f4b71Sopenharmony_ci
3343e41f4b71Sopenharmony_ci**参数:**
3344e41f4b71Sopenharmony_ci
3345e41f4b71Sopenharmony_ci| 参数名    | 类型   | 必填 | 说明                                                 |
3346e41f4b71Sopenharmony_ci| --------- | ------ | ---- | ---------------------------------------------------- |
3347e41f4b71Sopenharmony_ci| callbackFn | [TypedArrayReduceCallback](#typedarrayreducecallback)\<U, number, TypedArray> | 是  | 归约函数。 |
3348e41f4b71Sopenharmony_ci| initialValue | U | 是  | 初始值。 |
3349e41f4b71Sopenharmony_ci
3350e41f4b71Sopenharmony_ci**返回值:**
3351e41f4b71Sopenharmony_ci
3352e41f4b71Sopenharmony_ci| 类型         | 说明      |
3353e41f4b71Sopenharmony_ci| ------------ | --------- |
3354e41f4b71Sopenharmony_ci|  U | 由归约函数返回的结果。 |
3355e41f4b71Sopenharmony_ci
3356e41f4b71Sopenharmony_ci**错误码:**
3357e41f4b71Sopenharmony_ci
3358e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
3359e41f4b71Sopenharmony_ci
3360e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                          |
3361e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------- |
3362e41f4b71Sopenharmony_ci| 10200011 | The reduce method cannot be bound. |
3363e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification exception.  |
3364e41f4b71Sopenharmony_ci
3365e41f4b71Sopenharmony_ci**示例:**
3366e41f4b71Sopenharmony_ci
3367e41f4b71Sopenharmony_ci```ts
3368e41f4b71Sopenharmony_cilet array: collections.Uint32Array = collections.Uint32Array.from([1, 2, 3, 4, 5]);
3369e41f4b71Sopenharmony_cilet reducedValue: string = array.reduce<string>((accumulator: string, value: number) => accumulator + value, "initialValue");
3370e41f4b71Sopenharmony_ci// reducedValue == initialValue12345
3371e41f4b71Sopenharmony_ci```
3372e41f4b71Sopenharmony_ci
3373e41f4b71Sopenharmony_ci### reverse
3374e41f4b71Sopenharmony_cireverse(): TypedArray
3375e41f4b71Sopenharmony_ci
3376e41f4b71Sopenharmony_ci反转ArkTS TypedArray。
3377e41f4b71Sopenharmony_ci
3378e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
3379e41f4b71Sopenharmony_ci
3380e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
3381e41f4b71Sopenharmony_ci
3382e41f4b71Sopenharmony_ci**返回值:**
3383e41f4b71Sopenharmony_ci
3384e41f4b71Sopenharmony_ci| 类型         | 说明      |
3385e41f4b71Sopenharmony_ci| ------------ | --------- |
3386e41f4b71Sopenharmony_ci| TypedArray   | 反转后的ArkTS TypedArray对象。|
3387e41f4b71Sopenharmony_ci
3388e41f4b71Sopenharmony_ci**错误码:**
3389e41f4b71Sopenharmony_ci
3390e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
3391e41f4b71Sopenharmony_ci
3392e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                          |
3393e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------- |
3394e41f4b71Sopenharmony_ci| 10200011 | The reverse method cannot be bound. |
3395e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification exception.   |
3396e41f4b71Sopenharmony_ci
3397e41f4b71Sopenharmony_ci**示例:**
3398e41f4b71Sopenharmony_ci
3399e41f4b71Sopenharmony_ci```ts
3400e41f4b71Sopenharmony_cilet array: collections.Uint32Array = collections.Uint32Array.from([1, 2, 3, 4, 5]);
3401e41f4b71Sopenharmony_cilet reversed: collections.Uint32Array = array.reverse(); // Uint32Array [5, 4, 3, 2, 1]
3402e41f4b71Sopenharmony_ci```
3403e41f4b71Sopenharmony_ci
3404e41f4b71Sopenharmony_ci### set
3405e41f4b71Sopenharmony_ciset(array: ArrayLike\<number>, offset?: number): void
3406e41f4b71Sopenharmony_ci
3407e41f4b71Sopenharmony_ci将传入的ArrayLike元素依次写入到指定的起始位置。
3408e41f4b71Sopenharmony_ci
3409e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
3410e41f4b71Sopenharmony_ci
3411e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
3412e41f4b71Sopenharmony_ci
3413e41f4b71Sopenharmony_ci**参数:**
3414e41f4b71Sopenharmony_ci| 参数名    | 类型   | 必填 | 说明                                                 |
3415e41f4b71Sopenharmony_ci| --------- | ------ | ---- | ---------------------------------------------------- |
3416e41f4b71Sopenharmony_ci| array | ArrayLike\<number> | 是  | 用于设置的ArrayLike对象。|
3417e41f4b71Sopenharmony_ci| offset | number | 否  | 写入的起始位置。默认为0。|
3418e41f4b71Sopenharmony_ci
3419e41f4b71Sopenharmony_ci**错误码:**
3420e41f4b71Sopenharmony_ci
3421e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
3422e41f4b71Sopenharmony_ci
3423e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                          |
3424e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------- |
3425e41f4b71Sopenharmony_ci| 10200011 | The set method cannot be bound. |
3426e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification exception.  |
3427e41f4b71Sopenharmony_ci
3428e41f4b71Sopenharmony_ci**示例:**
3429e41f4b71Sopenharmony_ci
3430e41f4b71Sopenharmony_ci```ts
3431e41f4b71Sopenharmony_cilet buffer: collections.ArrayBuffer = new collections.ArrayBuffer(8);
3432e41f4b71Sopenharmony_cilet array: collections.Uint8Array = new collections.Uint8Array(buffer);
3433e41f4b71Sopenharmony_ciarray.set([1, 2, 3], 3); // Uint8Array [0, 0, 0, 1, 2, 3, 0, 0]
3434e41f4b71Sopenharmony_ci```
3435e41f4b71Sopenharmony_ci
3436e41f4b71Sopenharmony_ci### slice
3437e41f4b71Sopenharmony_cislice(start?: number, end?: number): TypedArray
3438e41f4b71Sopenharmony_ci
3439e41f4b71Sopenharmony_ci返回一个新的ArkTS TypedArray对象,其包含原ArkTS TypedArray指定范围的内容。
3440e41f4b71Sopenharmony_ci
3441e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
3442e41f4b71Sopenharmony_ci
3443e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
3444e41f4b71Sopenharmony_ci
3445e41f4b71Sopenharmony_ci**参数:**
3446e41f4b71Sopenharmony_ci
3447e41f4b71Sopenharmony_ci| 参数名 | 类型   | 必填 | 说明                                                   |
3448e41f4b71Sopenharmony_ci| ------ | ------ | ---- | -----------------------------------------------------|
3449e41f4b71Sopenharmony_ci| start  | number | 否   | 开始索引,如果`start < 0`,则会从`start + typedarray.length`位置开始。默认为0。 |
3450e41f4b71Sopenharmony_ci| end    | number | 否   | 结束索引(不包括该元素),如果`end < 0`,则会到`end + typedarray.length`位置结束。默认为ArkTS TypedArray的长度。|
3451e41f4b71Sopenharmony_ci
3452e41f4b71Sopenharmony_ci**返回值:**
3453e41f4b71Sopenharmony_ci
3454e41f4b71Sopenharmony_ci| 类型         | 说明      |
3455e41f4b71Sopenharmony_ci| ------------ | --------- |
3456e41f4b71Sopenharmony_ci| TypedArray | 新的ArkTS TypedArray对象。 |
3457e41f4b71Sopenharmony_ci
3458e41f4b71Sopenharmony_ci**错误码:**
3459e41f4b71Sopenharmony_ci
3460e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
3461e41f4b71Sopenharmony_ci
3462e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                          |
3463e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------- |
3464e41f4b71Sopenharmony_ci| 10200011 | The slice method cannot be bound. |
3465e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification exception. |
3466e41f4b71Sopenharmony_ci
3467e41f4b71Sopenharmony_ci**示例:**
3468e41f4b71Sopenharmony_ci
3469e41f4b71Sopenharmony_ci```ts
3470e41f4b71Sopenharmony_cilet array: collections.Uint32Array = collections.Uint32Array.from([1, 2, 3, 4, 5]);
3471e41f4b71Sopenharmony_ciarray.slice(); // Uint32Array [1, 2, 3, 4, 5]
3472e41f4b71Sopenharmony_ciarray.slice(1, 3); // Uint32Array [2, 3]
3473e41f4b71Sopenharmony_ciarray.slice(-2); // Uint32Array [4, 5]
3474e41f4b71Sopenharmony_ci```
3475e41f4b71Sopenharmony_ci
3476e41f4b71Sopenharmony_ci### sort
3477e41f4b71Sopenharmony_cisort(compareFn?: TypedArrayCompareFn\<number>): TypedArray
3478e41f4b71Sopenharmony_ci
3479e41f4b71Sopenharmony_ci对ArkTS TypedArray进行排序,并返回排序后的ArkTS TypedArray对象。
3480e41f4b71Sopenharmony_ci
3481e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
3482e41f4b71Sopenharmony_ci
3483e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
3484e41f4b71Sopenharmony_ci
3485e41f4b71Sopenharmony_ci**参数:**
3486e41f4b71Sopenharmony_ci
3487e41f4b71Sopenharmony_ci| 参数名    | 类型                   | 必填 | 说明                                       |
3488e41f4b71Sopenharmony_ci| --------- | ---------------------- | ---- | ------------------------------------------ |
3489e41f4b71Sopenharmony_ci| compareFn | [TypedArrayCompareFn](#typedarraycomparefn)\<number> | 否   | 用于确定元素顺序的函数。默认使用升序排序。 |
3490e41f4b71Sopenharmony_ci
3491e41f4b71Sopenharmony_ci**返回值:**
3492e41f4b71Sopenharmony_ci
3493e41f4b71Sopenharmony_ci| 类型         | 说明      |
3494e41f4b71Sopenharmony_ci| ------------ | --------- |
3495e41f4b71Sopenharmony_ci| TypedArray | 排序后的ArkTS TypedArray对象。|
3496e41f4b71Sopenharmony_ci
3497e41f4b71Sopenharmony_ci**错误码:**
3498e41f4b71Sopenharmony_ci
3499e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
3500e41f4b71Sopenharmony_ci
3501e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                    |
3502e41f4b71Sopenharmony_ci| -------- | ------------------------------------------ |
3503e41f4b71Sopenharmony_ci| 10200011 | The sort method cannot be bound. |
3504e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification exception.         |
3505e41f4b71Sopenharmony_ci
3506e41f4b71Sopenharmony_ci**示例:**
3507e41f4b71Sopenharmony_ci
3508e41f4b71Sopenharmony_ci```ts
3509e41f4b71Sopenharmony_cilet array: collections.Uint32Array = collections.Uint32Array.from([1, 3, 5, 4, 2]);
3510e41f4b71Sopenharmony_ciarray.sort(); // Uint32Array [1, 2, 3, 4, 5]
3511e41f4b71Sopenharmony_ciarray.sort((a: number, b: number) => a - b); // Uint32Array [1, 2, 3, 4, 5]
3512e41f4b71Sopenharmony_ciarray.sort((a: number, b: number) => b - a); // Uint32Array [5, 4, 3, 2, 1]
3513e41f4b71Sopenharmony_ci```
3514e41f4b71Sopenharmony_ci
3515e41f4b71Sopenharmony_ci### subarray
3516e41f4b71Sopenharmony_cisubarray(begin?: number, end?: number): TypedArray
3517e41f4b71Sopenharmony_ci
3518e41f4b71Sopenharmony_ci返回一个新的、基于相同ArkTS ArrayBuffer的ArkTS TypedArray对象。
3519e41f4b71Sopenharmony_ci
3520e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
3521e41f4b71Sopenharmony_ci
3522e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
3523e41f4b71Sopenharmony_ci
3524e41f4b71Sopenharmony_ci**参数:**
3525e41f4b71Sopenharmony_ci
3526e41f4b71Sopenharmony_ci| 参数名 | 类型   | 必填 | 说明                                                |
3527e41f4b71Sopenharmony_ci| ------ | ------ | ---- | ------------------------------------------------- |
3528e41f4b71Sopenharmony_ci| begin  | number | 否   | 开始索引,如果`begin < 0`,则会从`begin + typedarray.length`位置开始。默认值为0。 |
3529e41f4b71Sopenharmony_ci| end    | number | 否   | 结束索引(不包括该元素),如果`end < 0`,则会到`end + typedarray.length`位置结束。默认为ArkTS TypedArray的长度。 |
3530e41f4b71Sopenharmony_ci
3531e41f4b71Sopenharmony_ci**返回值:**
3532e41f4b71Sopenharmony_ci
3533e41f4b71Sopenharmony_ci| 类型         | 说明      |
3534e41f4b71Sopenharmony_ci| ------------ | --------- |
3535e41f4b71Sopenharmony_ci| TypedArray | 新的ArkTS TypedArray对象。|
3536e41f4b71Sopenharmony_ci
3537e41f4b71Sopenharmony_ci**错误码:**
3538e41f4b71Sopenharmony_ci
3539e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
3540e41f4b71Sopenharmony_ci
3541e41f4b71Sopenharmony_ci| 错误码ID |            错误信息                               |
3542e41f4b71Sopenharmony_ci| -------- | -------------------------------------------------|
3543e41f4b71Sopenharmony_ci| 10200011 | The subarray method cannot be bound.             |
3544e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification exception.               |
3545e41f4b71Sopenharmony_ci
3546e41f4b71Sopenharmony_ci**示例:**
3547e41f4b71Sopenharmony_ci
3548e41f4b71Sopenharmony_ci```ts
3549e41f4b71Sopenharmony_cilet array: collections.Uint32Array = collections.Uint32Array.from([1, 2, 3, 4, 5]);
3550e41f4b71Sopenharmony_cilet subArray: collections.Uint32Array = array.subarray(); // Uint32Array [1, 2, 3, 4, 5]
3551e41f4b71Sopenharmony_cisubArray.set([10, 20, 30]); // Uint32Array [10, 20, 30, 4, 5]
3552e41f4b71Sopenharmony_ci```
3553e41f4b71Sopenharmony_ci
3554e41f4b71Sopenharmony_ci### at
3555e41f4b71Sopenharmony_ciat(index: number): number | undefined
3556e41f4b71Sopenharmony_ci
3557e41f4b71Sopenharmony_ci返回指定下标的元素,如果不存在,则返回undefined。
3558e41f4b71Sopenharmony_ci
3559e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
3560e41f4b71Sopenharmony_ci
3561e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
3562e41f4b71Sopenharmony_ci
3563e41f4b71Sopenharmony_ci**参数:**
3564e41f4b71Sopenharmony_ci| 参数名 | 类型   | 必填 | 说明                                                         |
3565e41f4b71Sopenharmony_ci| ------ | ------ | ---- | ------------------------------------------------------------ |
3566e41f4b71Sopenharmony_ci| index  | number | 是   | 要返回的Array元素的索引(从零开始),取值为整数。如果`index < 0`,则会访问`index + typedarray.length`位置的元素。|
3567e41f4b71Sopenharmony_ci
3568e41f4b71Sopenharmony_ci**返回值:**
3569e41f4b71Sopenharmony_ci
3570e41f4b71Sopenharmony_ci| 类型         | 说明      |
3571e41f4b71Sopenharmony_ci| ------------ | --------- |
3572e41f4b71Sopenharmony_ci| number \| undefined| 指定下标的元素;如果不存在,则返回undefined。|
3573e41f4b71Sopenharmony_ci
3574e41f4b71Sopenharmony_ci**错误码:**
3575e41f4b71Sopenharmony_ci
3576e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
3577e41f4b71Sopenharmony_ci
3578e41f4b71Sopenharmony_ci| 错误码ID |                       错误信息                    |
3579e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------ |
3580e41f4b71Sopenharmony_ci| 10200011 | The at method cannot be bound.                   |
3581e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification exception.               |
3582e41f4b71Sopenharmony_ci
3583e41f4b71Sopenharmony_ci**示例:**
3584e41f4b71Sopenharmony_ci
3585e41f4b71Sopenharmony_ci```ts
3586e41f4b71Sopenharmony_cilet array: collections.Uint32Array = collections.Uint32Array.from([1, 2, 3, 4, 5]);
3587e41f4b71Sopenharmony_ciconsole.info("element: " + array.at(2));  // element: 3
3588e41f4b71Sopenharmony_ciconsole.info("element: " + array.at(-1)); // element: 5
3589e41f4b71Sopenharmony_ciconsole.info("element: " + array.at(6));  // element: undefined
3590e41f4b71Sopenharmony_ci```
3591e41f4b71Sopenharmony_ci
3592e41f4b71Sopenharmony_ci### includes
3593e41f4b71Sopenharmony_ciincludes(searchElement: number, fromIndex?: number): boolean
3594e41f4b71Sopenharmony_ci
3595e41f4b71Sopenharmony_ci判断ArkTS TypedArray是否包含特定元素。
3596e41f4b71Sopenharmony_ci
3597e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
3598e41f4b71Sopenharmony_ci
3599e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
3600e41f4b71Sopenharmony_ci
3601e41f4b71Sopenharmony_ci**参数:**
3602e41f4b71Sopenharmony_ci| 参数名 | 类型   | 必填 | 说明                                      |
3603e41f4b71Sopenharmony_ci| ------ | ------ | ---- | --------------------------------------- |
3604e41f4b71Sopenharmony_ci| searchElement  | number | 是   | 待搜索的元素。 |
3605e41f4b71Sopenharmony_ci| fromIndex  | number | 否  | 开始搜索的索引,如果`fromIndex < 0`,则会从`fromIndex + typedarray.length`位置开始。默认值为0。|
3606e41f4b71Sopenharmony_ci
3607e41f4b71Sopenharmony_ci**返回值:**
3608e41f4b71Sopenharmony_ci
3609e41f4b71Sopenharmony_ci| 类型    | 说明                                                        |
3610e41f4b71Sopenharmony_ci| ------- | ---------------------------------------------------------- |
3611e41f4b71Sopenharmony_ci| boolean | 如果ArkTS TypedArray包含指定的元素,则返回true;否则返回false。|
3612e41f4b71Sopenharmony_ci
3613e41f4b71Sopenharmony_ci
3614e41f4b71Sopenharmony_ci**错误码:**
3615e41f4b71Sopenharmony_ci
3616e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
3617e41f4b71Sopenharmony_ci
3618e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                          |
3619e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------- |
3620e41f4b71Sopenharmony_ci| 10200011 | The includes method cannot be bound. |
3621e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification exception. |
3622e41f4b71Sopenharmony_ci
3623e41f4b71Sopenharmony_ci**示例:**
3624e41f4b71Sopenharmony_ci
3625e41f4b71Sopenharmony_ci```ts
3626e41f4b71Sopenharmony_cilet array: collections.Uint32Array = collections.Uint32Array.from([1, 2, 3]);
3627e41f4b71Sopenharmony_ciconsole.info("includes: " + array.includes(2));    // includes: true
3628e41f4b71Sopenharmony_ciconsole.info("includes: " + array.includes(4));    // includes: false
3629e41f4b71Sopenharmony_ciconsole.info("includes: " + array.includes(3, 3)); // includes: false
3630e41f4b71Sopenharmony_ci```
3631e41f4b71Sopenharmony_ci
3632e41f4b71Sopenharmony_ci### entries
3633e41f4b71Sopenharmony_cientries(): IterableIterator\<[number, number]>
3634e41f4b71Sopenharmony_ci
3635e41f4b71Sopenharmony_ci返回一个新的迭代器对象,该对象包含ArkTS TypedArray中每个元素的键值对。
3636e41f4b71Sopenharmony_ci
3637e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
3638e41f4b71Sopenharmony_ci
3639e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
3640e41f4b71Sopenharmony_ci
3641e41f4b71Sopenharmony_ci**返回值:**
3642e41f4b71Sopenharmony_ci
3643e41f4b71Sopenharmony_ci| 类型         | 说明      |
3644e41f4b71Sopenharmony_ci| ------------ | --------- |
3645e41f4b71Sopenharmony_ci| IterableIterator\<[number, number]>| 新的迭代器对象。 |
3646e41f4b71Sopenharmony_ci
3647e41f4b71Sopenharmony_ci**错误码:**
3648e41f4b71Sopenharmony_ci
3649e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
3650e41f4b71Sopenharmony_ci
3651e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                          |
3652e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------- |
3653e41f4b71Sopenharmony_ci| 10200011 | The entries method cannot be bound. |
3654e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification exception. |
3655e41f4b71Sopenharmony_ci
3656e41f4b71Sopenharmony_ci**示例:**
3657e41f4b71Sopenharmony_ci
3658e41f4b71Sopenharmony_ci```ts
3659e41f4b71Sopenharmony_cilet array: collections.Uint32Array = collections.Uint32Array.from([11, 22, 33]);
3660e41f4b71Sopenharmony_cilet iterator: IterableIterator<[number, number]> = array.entries();
3661e41f4b71Sopenharmony_ciconsole.info("value: " + iterator.next().value); // value: [0, 11]
3662e41f4b71Sopenharmony_ciconsole.info("value: " + iterator.next().value); // value: [1, 22]
3663e41f4b71Sopenharmony_ciconsole.info("value: " + iterator.next().value); // value: [2, 33]
3664e41f4b71Sopenharmony_ci```
3665e41f4b71Sopenharmony_ci
3666e41f4b71Sopenharmony_ci### keys
3667e41f4b71Sopenharmony_cikeys(): IterableIterator\<number>
3668e41f4b71Sopenharmony_ci
3669e41f4b71Sopenharmony_ci返回一个新的迭代器对象,该对象包含ArkTS TypedArray中每个元素的键(下标)。
3670e41f4b71Sopenharmony_ci
3671e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
3672e41f4b71Sopenharmony_ci
3673e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
3674e41f4b71Sopenharmony_ci
3675e41f4b71Sopenharmony_ci**返回值:**
3676e41f4b71Sopenharmony_ci
3677e41f4b71Sopenharmony_ci| 类型         | 说明      |
3678e41f4b71Sopenharmony_ci| ------------ | --------- |
3679e41f4b71Sopenharmony_ci| IterableIterator\<number> | 新的迭代器对象。|
3680e41f4b71Sopenharmony_ci
3681e41f4b71Sopenharmony_ci**错误码:**
3682e41f4b71Sopenharmony_ci
3683e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
3684e41f4b71Sopenharmony_ci
3685e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                          |
3686e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------- |
3687e41f4b71Sopenharmony_ci| 10200011 | The keys method cannot be bound. |
3688e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification exception. |
3689e41f4b71Sopenharmony_ci
3690e41f4b71Sopenharmony_ci**示例:**
3691e41f4b71Sopenharmony_ci
3692e41f4b71Sopenharmony_ci```ts
3693e41f4b71Sopenharmony_cilet array: collections.Uint32Array = collections.Uint32Array.from([1, 2, 3, 4, 5]);
3694e41f4b71Sopenharmony_cilet iterator: IterableIterator<number> = array.keys();
3695e41f4b71Sopenharmony_cifor (const key of iterator) {
3696e41f4b71Sopenharmony_ci  console.info("" + key); // 依次输出 0,1,2,3,4
3697e41f4b71Sopenharmony_ci}
3698e41f4b71Sopenharmony_ci```
3699e41f4b71Sopenharmony_ci
3700e41f4b71Sopenharmony_ci### values
3701e41f4b71Sopenharmony_civalues(): IterableIterator\<number>
3702e41f4b71Sopenharmony_ci
3703e41f4b71Sopenharmony_ci返回一个新的迭代器对象,该对象包含ArkTS TypedArray中每个元素的值。
3704e41f4b71Sopenharmony_ci
3705e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
3706e41f4b71Sopenharmony_ci
3707e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
3708e41f4b71Sopenharmony_ci
3709e41f4b71Sopenharmony_ci**返回值:**
3710e41f4b71Sopenharmony_ci
3711e41f4b71Sopenharmony_ci| 类型         | 说明      |
3712e41f4b71Sopenharmony_ci| ------------ | --------- |
3713e41f4b71Sopenharmony_ci| IterableIterator\<number> | 新的迭代器对象。|
3714e41f4b71Sopenharmony_ci
3715e41f4b71Sopenharmony_ci**错误码:**
3716e41f4b71Sopenharmony_ci
3717e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
3718e41f4b71Sopenharmony_ci
3719e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                          |
3720e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------- |
3721e41f4b71Sopenharmony_ci| 10200011 | The values method cannot be bound. |
3722e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification exception.  |
3723e41f4b71Sopenharmony_ci
3724e41f4b71Sopenharmony_ci**示例:**
3725e41f4b71Sopenharmony_ci
3726e41f4b71Sopenharmony_ci```ts
3727e41f4b71Sopenharmony_cilet array: collections.Uint32Array = collections.Uint32Array.from([1, 2, 3, 4, 5]);
3728e41f4b71Sopenharmony_cilet iterator: IterableIterator<number> = array.values();
3729e41f4b71Sopenharmony_cifor (const value of iterator) {
3730e41f4b71Sopenharmony_ci  console.info("" + value); // 依次输出 1,2,3,4,5
3731e41f4b71Sopenharmony_ci}
3732e41f4b71Sopenharmony_ci```
3733e41f4b71Sopenharmony_ci
3734e41f4b71Sopenharmony_ci### [Symbol.iterator]
3735e41f4b71Sopenharmony_ci
3736e41f4b71Sopenharmony_ci[Symbol.iterator]\(): IterableIterator&lt;number&gt;
3737e41f4b71Sopenharmony_ci
3738e41f4b71Sopenharmony_ci返回一个迭代器,迭代器的每一项都是一个 JavaScript 对象,并返回该对象。
3739e41f4b71Sopenharmony_ci
3740e41f4b71Sopenharmony_ci> **说明:**
3741e41f4b71Sopenharmony_ci>
3742e41f4b71Sopenharmony_ci> 本接口不支持在.ets文件中使用。
3743e41f4b71Sopenharmony_ci
3744e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
3745e41f4b71Sopenharmony_ci
3746e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
3747e41f4b71Sopenharmony_ci
3748e41f4b71Sopenharmony_ci**返回值:**
3749e41f4b71Sopenharmony_ci
3750e41f4b71Sopenharmony_ci| 类型                      | 说明             |
3751e41f4b71Sopenharmony_ci| ------------------------- | ---------------- |
3752e41f4b71Sopenharmony_ci| IterableIterator&lt;T&gt; | 返回一个迭代器。 |
3753e41f4b71Sopenharmony_ci
3754e41f4b71Sopenharmony_ci**错误码:**
3755e41f4b71Sopenharmony_ci
3756e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
3757e41f4b71Sopenharmony_ci
3758e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                    |
3759e41f4b71Sopenharmony_ci| -------- | ------------------------------------------- |
3760e41f4b71Sopenharmony_ci| 10200011 | The Symbol.iterator method cannot be bound. |
3761e41f4b71Sopenharmony_ci
3762e41f4b71Sopenharmony_ci**示例:**
3763e41f4b71Sopenharmony_ci
3764e41f4b71Sopenharmony_ci```ts
3765e41f4b71Sopenharmony_cilet int32Array: collections.Int32Array = collections.Int32Array.from([1, 2, 3, 4, 5, 6]);
3766e41f4b71Sopenharmony_ci
3767e41f4b71Sopenharmony_cifor (let item of int32Array) {
3768e41f4b71Sopenharmony_ci  console.info(`value : ${item}`);
3769e41f4b71Sopenharmony_ci}
3770e41f4b71Sopenharmony_ci```
3771e41f4b71Sopenharmony_ci
3772e41f4b71Sopenharmony_ci### [index: number]
3773e41f4b71Sopenharmony_ci
3774e41f4b71Sopenharmony_ci&#91;index: number&#93;: number
3775e41f4b71Sopenharmony_ci
3776e41f4b71Sopenharmony_ci返回TypedArray指定索引位置的元素,适用于Int8Array,Int16Array,Int32Array,Uint8Array,Uint16Array,Uint32Array,Float32Array和Float64Array 8种数据类型。
3777e41f4b71Sopenharmony_ci
3778e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
3779e41f4b71Sopenharmony_ci
3780e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
3781e41f4b71Sopenharmony_ci
3782e41f4b71Sopenharmony_ci| 参数名    | 类型   | 必填 | 说明                     |
3783e41f4b71Sopenharmony_ci| ----- | ------ | ---- | -------------------------- |
3784e41f4b71Sopenharmony_ci| index | number | 是   | 所需代码单元的从零开始的索引。|
3785e41f4b71Sopenharmony_ci
3786e41f4b71Sopenharmony_ci**返回值:**
3787e41f4b71Sopenharmony_ci
3788e41f4b71Sopenharmony_ci| 类型   | 说明                 |
3789e41f4b71Sopenharmony_ci| ----- | ---------------------|
3790e41f4b71Sopenharmony_ci| number | 返回number数据类型。 |
3791e41f4b71Sopenharmony_ci
3792e41f4b71Sopenharmony_ci**示例:**
3793e41f4b71Sopenharmony_ci
3794e41f4b71Sopenharmony_ci```ts
3795e41f4b71Sopenharmony_cilet int8Array = collections.Int8Array.from([1, 2, 4]);
3796e41f4b71Sopenharmony_ciconsole.info("Element at index 1: ", int8Array[1]);
3797e41f4b71Sopenharmony_cilet int16Array = collections.Int16Array.from([1, 2, 4]);
3798e41f4b71Sopenharmony_ciconsole.info("Element at index 1: ", int16Array[1]);
3799e41f4b71Sopenharmony_cilet int32Array = collections.Int32Array.from([1, 2, 4]);
3800e41f4b71Sopenharmony_ciconsole.info("Element at index 1: ", int32Array[1]);
3801e41f4b71Sopenharmony_cilet uint8Array = collections.Uint8Array.from([1, 2, 4]);
3802e41f4b71Sopenharmony_ciconsole.info("Element at index 1: ", uint8Array[1]);
3803e41f4b71Sopenharmony_cilet uint16Array = collections.Uint16Array.from([1, 2, 4]);
3804e41f4b71Sopenharmony_ciconsole.info("Element at index 1: ", uint16Array[1]);
3805e41f4b71Sopenharmony_cilet uint32Array = collections.Uint32Array.from([1, 2, 4]);
3806e41f4b71Sopenharmony_ciconsole.info("Element at index 1: ", uint32Array[1]);
3807e41f4b71Sopenharmony_cilet float32Array = collections.Float32Array.from([1, 2, 4]);
3808e41f4b71Sopenharmony_ciconsole.info("Element at index 1: ", float32Array[1]);
3809e41f4b71Sopenharmony_cilet uint8Clamped = collections.Uint8ClampedArray.from([1, 2, 4]);
3810e41f4b71Sopenharmony_ciconsole.info("Element at index 1: ", uint8Clamped[1]);
3811e41f4b71Sopenharmony_ci```
3812e41f4b71Sopenharmony_ci
3813e41f4b71Sopenharmony_ci## collections.BitVector
3814e41f4b71Sopenharmony_ci
3815e41f4b71Sopenharmony_ciBitVector是一种线性数据结构,底层基于数组实现。BitVector中存储元素为bit值,能存储和处理bit级别的操作。
3816e41f4b71Sopenharmony_ci
3817e41f4b71Sopenharmony_ci### 属性
3818e41f4b71Sopenharmony_ci
3819e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
3820e41f4b71Sopenharmony_ci
3821e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
3822e41f4b71Sopenharmony_ci
3823e41f4b71Sopenharmony_ci| 名称   | 类型   | 只读 | 可选 | 说明                  |
3824e41f4b71Sopenharmony_ci| ------ | ------ | ---- | ---- | --------------------- |
3825e41f4b71Sopenharmony_ci| length | number | 是   | 否   | BitVector的元素个数。 |
3826e41f4b71Sopenharmony_ci
3827e41f4b71Sopenharmony_ci
3828e41f4b71Sopenharmony_ci### constructor
3829e41f4b71Sopenharmony_ci
3830e41f4b71Sopenharmony_ciconstructor(length: number)
3831e41f4b71Sopenharmony_ci
3832e41f4b71Sopenharmony_ciBitVector的构造函数。
3833e41f4b71Sopenharmony_ci
3834e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
3835e41f4b71Sopenharmony_ci
3836e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
3837e41f4b71Sopenharmony_ci
3838e41f4b71Sopenharmony_ci**参数:**
3839e41f4b71Sopenharmony_ci
3840e41f4b71Sopenharmony_ci| 参数名 | 类型   | 必填 | 说明                    |
3841e41f4b71Sopenharmony_ci| ------ | ------ | ---- | ----------------------- |
3842e41f4b71Sopenharmony_ci| length | number | 是   | 初始化BitVector的长度。 |
3843e41f4b71Sopenharmony_ci
3844e41f4b71Sopenharmony_ci**示例:**
3845e41f4b71Sopenharmony_ci
3846e41f4b71Sopenharmony_ci```ts
3847e41f4b71Sopenharmony_cilet bitVector: collections.BitVector = new collections.BitVector(0);
3848e41f4b71Sopenharmony_ci```
3849e41f4b71Sopenharmony_ci
3850e41f4b71Sopenharmony_ci
3851e41f4b71Sopenharmony_ci### push
3852e41f4b71Sopenharmony_ci
3853e41f4b71Sopenharmony_cipush(element:number): boolean
3854e41f4b71Sopenharmony_ci
3855e41f4b71Sopenharmony_ci在BitVector尾部插入元素。
3856e41f4b71Sopenharmony_ci
3857e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
3858e41f4b71Sopenharmony_ci
3859e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
3860e41f4b71Sopenharmony_ci
3861e41f4b71Sopenharmony_ci**参数:**
3862e41f4b71Sopenharmony_ci
3863e41f4b71Sopenharmony_ci| 参数名  | 类型   | 必填 | 说明                                |
3864e41f4b71Sopenharmony_ci| ------- | ------ | ---- | ----------------------------------- |
3865e41f4b71Sopenharmony_ci| element | number | 是   | 待插入的元素,0表示0,其余值表示1。 |
3866e41f4b71Sopenharmony_ci
3867e41f4b71Sopenharmony_ci**返回值:**
3868e41f4b71Sopenharmony_ci
3869e41f4b71Sopenharmony_ci| 类型    | 说明                              |
3870e41f4b71Sopenharmony_ci| ------- | --------------------------------- |
3871e41f4b71Sopenharmony_ci| boolean | 插入成功返回true,失败返回false。 |
3872e41f4b71Sopenharmony_ci
3873e41f4b71Sopenharmony_ci**错误码:**
3874e41f4b71Sopenharmony_ci
3875e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。
3876e41f4b71Sopenharmony_ci
3877e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                                     |
3878e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------------------ |
3879e41f4b71Sopenharmony_ci| 401      | Parameter error. Possible causes:<br/>1.Mandatory parameters are left unspecified;<br/>2.Incorrect parameter types. |
3880e41f4b71Sopenharmony_ci| 10200011 | The push method cannot be bound.                             |
3881e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification error.                               |
3882e41f4b71Sopenharmony_ci
3883e41f4b71Sopenharmony_ci**示例:**
3884e41f4b71Sopenharmony_ci
3885e41f4b71Sopenharmony_ci```ts
3886e41f4b71Sopenharmony_cilet bitVector: collections.BitVector = new collections.BitVector(0);
3887e41f4b71Sopenharmony_cibitVector.push(0);
3888e41f4b71Sopenharmony_cibitVector.push(1);
3889e41f4b71Sopenharmony_cibitVector.push(0);
3890e41f4b71Sopenharmony_cibitVector.push(1);
3891e41f4b71Sopenharmony_cibitVector.push(0); // bitVector: [0, 1, 0, 1, 0]
3892e41f4b71Sopenharmony_ci```
3893e41f4b71Sopenharmony_ci
3894e41f4b71Sopenharmony_ci### pop
3895e41f4b71Sopenharmony_ci
3896e41f4b71Sopenharmony_cipop(): number
3897e41f4b71Sopenharmony_ci
3898e41f4b71Sopenharmony_ci弹出BitVector尾部的元素。
3899e41f4b71Sopenharmony_ci
3900e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
3901e41f4b71Sopenharmony_ci
3902e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
3903e41f4b71Sopenharmony_ci
3904e41f4b71Sopenharmony_ci**返回值:**
3905e41f4b71Sopenharmony_ci
3906e41f4b71Sopenharmony_ci| 类型   | 说明                                       |
3907e41f4b71Sopenharmony_ci| ------ | ------------------------------------------ |
3908e41f4b71Sopenharmony_ci| number | 弹出BitVector尾部的元素,其值为对应bit值。 |
3909e41f4b71Sopenharmony_ci
3910e41f4b71Sopenharmony_ci**错误码:**
3911e41f4b71Sopenharmony_ci
3912e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
3913e41f4b71Sopenharmony_ci
3914e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                        |
3915e41f4b71Sopenharmony_ci| -------- | ------------------------------- |
3916e41f4b71Sopenharmony_ci| 10200011 | The pop method cannot be bound. |
3917e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification error.  |
3918e41f4b71Sopenharmony_ci
3919e41f4b71Sopenharmony_ci**示例:**
3920e41f4b71Sopenharmony_ci
3921e41f4b71Sopenharmony_ci```ts
3922e41f4b71Sopenharmony_cilet bitVector: collections.BitVector = new collections.BitVector(0);
3923e41f4b71Sopenharmony_cibitVector.push(0);
3924e41f4b71Sopenharmony_cibitVector.push(1);
3925e41f4b71Sopenharmony_cibitVector.push(0);
3926e41f4b71Sopenharmony_cibitVector.push(1);
3927e41f4b71Sopenharmony_cibitVector.push(0); // bitVector: [0, 1, 0, 1, 0]
3928e41f4b71Sopenharmony_cilet res = bitVector.pop(); // bitVector: [0, 1, 0, 1]
3929e41f4b71Sopenharmony_ciconsole.info("bitVector pop:", res) // 0
3930e41f4b71Sopenharmony_ci```
3931e41f4b71Sopenharmony_ci
3932e41f4b71Sopenharmony_ci### has
3933e41f4b71Sopenharmony_ci
3934e41f4b71Sopenharmony_cihas(element: number, fromIndex: number, toIndex: number): boolean
3935e41f4b71Sopenharmony_ci
3936e41f4b71Sopenharmony_ci判断范围内是否包含特定bit值。
3937e41f4b71Sopenharmony_ci
3938e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
3939e41f4b71Sopenharmony_ci
3940e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
3941e41f4b71Sopenharmony_ci
3942e41f4b71Sopenharmony_ci**参数:**
3943e41f4b71Sopenharmony_ci
3944e41f4b71Sopenharmony_ci| 参数名    | 类型   | 必填 | 说明                                 |
3945e41f4b71Sopenharmony_ci| --------- | ------ | ---- | ------------------------------------ |
3946e41f4b71Sopenharmony_ci| element   | number | 是   | 待判断的bit值,0表示0,其余值表示1。 |
3947e41f4b71Sopenharmony_ci| fromIndex | number | 是   | 范围起始索引,包含本索引值。         |
3948e41f4b71Sopenharmony_ci| toIndex   | number | 是   | 范围终止索引,包含本索引值。       |
3949e41f4b71Sopenharmony_ci
3950e41f4b71Sopenharmony_ci**返回值:**
3951e41f4b71Sopenharmony_ci
3952e41f4b71Sopenharmony_ci| 类型    | 说明                                   |
3953e41f4b71Sopenharmony_ci| ------- | -------------------------------------- |
3954e41f4b71Sopenharmony_ci| boolean | 包含特定bit值返回true,否则返回false。 |
3955e41f4b71Sopenharmony_ci
3956e41f4b71Sopenharmony_ci**错误码:**
3957e41f4b71Sopenharmony_ci
3958e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。
3959e41f4b71Sopenharmony_ci
3960e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                                     |
3961e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------------------ |
3962e41f4b71Sopenharmony_ci| 401      | Parameter error. Possible causes:<br/>1.Mandatory parameters are left unspecified;<br/>2.Incorrect parameter types. |
3963e41f4b71Sopenharmony_ci| 10200001 | The value of fromIndex or toIndex is out of range.           |
3964e41f4b71Sopenharmony_ci| 10200011 | The has method cannot be bound.                              |
3965e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification error.                               |
3966e41f4b71Sopenharmony_ci
3967e41f4b71Sopenharmony_ci**示例:**
3968e41f4b71Sopenharmony_ci
3969e41f4b71Sopenharmony_ci```ts
3970e41f4b71Sopenharmony_cilet bitVector: collections.BitVector = new collections.BitVector(0);
3971e41f4b71Sopenharmony_cibitVector.push(0);
3972e41f4b71Sopenharmony_cibitVector.push(1);
3973e41f4b71Sopenharmony_cibitVector.push(0);
3974e41f4b71Sopenharmony_cibitVector.push(1);
3975e41f4b71Sopenharmony_cibitVector.push(0); // bitVector: [0, 1, 0, 1, 0]
3976e41f4b71Sopenharmony_cilet res0: boolean = bitVector.has(0, 1, 4);
3977e41f4b71Sopenharmony_ciconsole.info("bitVector has 0:", res0) // true
3978e41f4b71Sopenharmony_ci```
3979e41f4b71Sopenharmony_ci
3980e41f4b71Sopenharmony_ci### setBitsByRange
3981e41f4b71Sopenharmony_ci
3982e41f4b71Sopenharmony_cisetBitsByRange(element: number, fromIndex: number, toIndex: number): void
3983e41f4b71Sopenharmony_ci
3984e41f4b71Sopenharmony_ci将BitVector中指定范围的元素均设为特定bit值。
3985e41f4b71Sopenharmony_ci
3986e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
3987e41f4b71Sopenharmony_ci
3988e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
3989e41f4b71Sopenharmony_ci
3990e41f4b71Sopenharmony_ci**参数:**
3991e41f4b71Sopenharmony_ci
3992e41f4b71Sopenharmony_ci| 参数名    | 类型   | 必填 | 说明                               |
3993e41f4b71Sopenharmony_ci| --------- | ------ | ---- | ---------------------------------- |
3994e41f4b71Sopenharmony_ci| element   | number | 是   | 待设置的bit值,0表示0,其余表示1。 |
3995e41f4b71Sopenharmony_ci| fromIndex | number | 是   | 范围起始索引,包含本索引值。       |
3996e41f4b71Sopenharmony_ci| toIndex   | number | 是   | 范围终止索引,不包含本索引值。     |
3997e41f4b71Sopenharmony_ci
3998e41f4b71Sopenharmony_ci**错误码:**
3999e41f4b71Sopenharmony_ci
4000e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。
4001e41f4b71Sopenharmony_ci
4002e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                                     |
4003e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------------------ |
4004e41f4b71Sopenharmony_ci| 401      | Parameter error. Possible causes:<br/>1.Mandatory parameters are left unspecified;<br/>2.Incorrect parameter types. |
4005e41f4b71Sopenharmony_ci| 10200001 | The value of fromIndex or toIndex is out of range.           |
4006e41f4b71Sopenharmony_ci| 10200011 | The setBitsByRange method cannot be bound.                   |
4007e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification error.                               |
4008e41f4b71Sopenharmony_ci
4009e41f4b71Sopenharmony_ci**示例:**
4010e41f4b71Sopenharmony_ci
4011e41f4b71Sopenharmony_ci```ts
4012e41f4b71Sopenharmony_cilet bitVector: collections.BitVector = new collections.BitVector(0);
4013e41f4b71Sopenharmony_cibitVector.push(0);
4014e41f4b71Sopenharmony_cibitVector.push(1);
4015e41f4b71Sopenharmony_cibitVector.push(0);
4016e41f4b71Sopenharmony_cibitVector.push(1);
4017e41f4b71Sopenharmony_cibitVector.push(0); // bitVector: [0, 1, 0, 1, 0]
4018e41f4b71Sopenharmony_cibitVector.setBitsByRange(1, 1, 3); // bitVector: [0, 1, 1, 1, 0]
4019e41f4b71Sopenharmony_ci```
4020e41f4b71Sopenharmony_ci
4021e41f4b71Sopenharmony_ci### setAllBits
4022e41f4b71Sopenharmony_ci
4023e41f4b71Sopenharmony_cisetAllBits(element: number): void
4024e41f4b71Sopenharmony_ci
4025e41f4b71Sopenharmony_ci将BitVector中所有元素均设为特定bit值。
4026e41f4b71Sopenharmony_ci
4027e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
4028e41f4b71Sopenharmony_ci
4029e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
4030e41f4b71Sopenharmony_ci
4031e41f4b71Sopenharmony_ci**参数:**
4032e41f4b71Sopenharmony_ci
4033e41f4b71Sopenharmony_ci| 参数名  | 类型   | 必填 | 说明                                |
4034e41f4b71Sopenharmony_ci| ------- | ------ | ---- | ----------------------------------- |
4035e41f4b71Sopenharmony_ci| element | number | 是   | 待设置的元素,0表示0,其余值表示1。 |
4036e41f4b71Sopenharmony_ci
4037e41f4b71Sopenharmony_ci**错误码:**
4038e41f4b71Sopenharmony_ci
4039e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。
4040e41f4b71Sopenharmony_ci
4041e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                                     |
4042e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------------------ |
4043e41f4b71Sopenharmony_ci| 401      | Parameter error. Possible causes:<br/>1.Mandatory parameters are left unspecified;<br/>2.Incorrect parameter types. |
4044e41f4b71Sopenharmony_ci| 10200011 | The setAllBits method cannot be bound.                       |
4045e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification error.                               |
4046e41f4b71Sopenharmony_ci
4047e41f4b71Sopenharmony_ci**示例:**
4048e41f4b71Sopenharmony_ci
4049e41f4b71Sopenharmony_ci```ts
4050e41f4b71Sopenharmony_cilet bitVector: collections.BitVector = new collections.BitVector(0);
4051e41f4b71Sopenharmony_cibitVector.push(0);
4052e41f4b71Sopenharmony_cibitVector.push(1);
4053e41f4b71Sopenharmony_cibitVector.push(0);
4054e41f4b71Sopenharmony_cibitVector.push(1);
4055e41f4b71Sopenharmony_cibitVector.push(0); // bitVector: [0, 1, 0, 1, 0]
4056e41f4b71Sopenharmony_cibitVector.setAllBits(1); // bitVector: [1, 1, 1, 1, 1]
4057e41f4b71Sopenharmony_ci```
4058e41f4b71Sopenharmony_ci
4059e41f4b71Sopenharmony_ci### getBitsByRange
4060e41f4b71Sopenharmony_ci
4061e41f4b71Sopenharmony_cigetBitsByRange(fromIndex: number, toIndex: number): BitVector
4062e41f4b71Sopenharmony_ci
4063e41f4b71Sopenharmony_ci获取指定范围内的bit值。
4064e41f4b71Sopenharmony_ci
4065e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
4066e41f4b71Sopenharmony_ci
4067e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
4068e41f4b71Sopenharmony_ci
4069e41f4b71Sopenharmony_ci**参数:**
4070e41f4b71Sopenharmony_ci
4071e41f4b71Sopenharmony_ci| 参数名    | 类型   | 必填 | 说明                           |
4072e41f4b71Sopenharmony_ci| --------- | ------ | ---- | ------------------------------ |
4073e41f4b71Sopenharmony_ci| fromIndex | number | 是   | 范围起始索引,包含本索引值。   |
4074e41f4b71Sopenharmony_ci| toIndex   | number | 是   | 范围终止索引,不包含本索引值。 |
4075e41f4b71Sopenharmony_ci
4076e41f4b71Sopenharmony_ci**返回值:**
4077e41f4b71Sopenharmony_ci
4078e41f4b71Sopenharmony_ci| 类型      | 说明                               |
4079e41f4b71Sopenharmony_ci| --------- | ---------------------------------- |
4080e41f4b71Sopenharmony_ci| BitVector | 指定范围内的bit值组成的BitVector。 |
4081e41f4b71Sopenharmony_ci
4082e41f4b71Sopenharmony_ci**错误码:**
4083e41f4b71Sopenharmony_ci
4084e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。
4085e41f4b71Sopenharmony_ci
4086e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                                     |
4087e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------------------ |
4088e41f4b71Sopenharmony_ci| 401      | Parameter error. Possible causes:<br/>1.Mandatory parameters are left unspecified;<br/>2.Incorrect parameter types. |
4089e41f4b71Sopenharmony_ci| 10200001 | The value of fromIndex or toIndex is out of range.           |
4090e41f4b71Sopenharmony_ci| 10200011 | The getBitsByRange method cannot be bound.                   |
4091e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification error.                               |
4092e41f4b71Sopenharmony_ci
4093e41f4b71Sopenharmony_ci**示例:**
4094e41f4b71Sopenharmony_ci
4095e41f4b71Sopenharmony_ci```ts
4096e41f4b71Sopenharmony_cilet bitVector: collections.BitVector = new collections.BitVector(0);
4097e41f4b71Sopenharmony_cibitVector.push(0);
4098e41f4b71Sopenharmony_cibitVector.push(1);
4099e41f4b71Sopenharmony_cibitVector.push(0);
4100e41f4b71Sopenharmony_cibitVector.push(1);
4101e41f4b71Sopenharmony_cibitVector.push(0); // bitVector: [0, 1, 0, 1, 0]
4102e41f4b71Sopenharmony_cilet bitVector2 = bitVector.getBitsByRange(1, 3); // bitVector2: [1, 0]
4103e41f4b71Sopenharmony_ciconsole.info("bitVector2 length:", bitVector2.length) // 2
4104e41f4b71Sopenharmony_ci```
4105e41f4b71Sopenharmony_ci
4106e41f4b71Sopenharmony_ci### resize
4107e41f4b71Sopenharmony_ci
4108e41f4b71Sopenharmony_ciresize(size: number): void
4109e41f4b71Sopenharmony_ci
4110e41f4b71Sopenharmony_ci改变BitVector的长度。
4111e41f4b71Sopenharmony_ci
4112e41f4b71Sopenharmony_ci若size大于原BitVector的长度,则扩充原BitVector的长度,多出的部分其元素设置为0;
4113e41f4b71Sopenharmony_ci
4114e41f4b71Sopenharmony_ci若size小于等于原BitVector的长度,则将原BitVector按size长度大小裁剪。
4115e41f4b71Sopenharmony_ci
4116e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
4117e41f4b71Sopenharmony_ci
4118e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
4119e41f4b71Sopenharmony_ci
4120e41f4b71Sopenharmony_ci**参数:**
4121e41f4b71Sopenharmony_ci
4122e41f4b71Sopenharmony_ci| 参数名 | 类型   | 必填 | 说明             |
4123e41f4b71Sopenharmony_ci| ------ | ------ | ---- | ---------------- |
4124e41f4b71Sopenharmony_ci| size   | number | 是   | 需要改变的长度。 |
4125e41f4b71Sopenharmony_ci
4126e41f4b71Sopenharmony_ci**错误码:**
4127e41f4b71Sopenharmony_ci
4128e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。
4129e41f4b71Sopenharmony_ci
4130e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                                     |
4131e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------------------ |
4132e41f4b71Sopenharmony_ci| 401      | Parameter error. Possible causes:<br/>1.Mandatory parameters are left unspecified;<br/>2.Incorrect parameter types. |
4133e41f4b71Sopenharmony_ci| 10200011 | The resize method cannot be bound.                           |
4134e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification error.                               |
4135e41f4b71Sopenharmony_ci
4136e41f4b71Sopenharmony_ci**示例:**
4137e41f4b71Sopenharmony_ci
4138e41f4b71Sopenharmony_ci```ts
4139e41f4b71Sopenharmony_cilet bitVector: collections.BitVector = new collections.BitVector(0);
4140e41f4b71Sopenharmony_cibitVector.push(0);
4141e41f4b71Sopenharmony_cibitVector.push(1);
4142e41f4b71Sopenharmony_cibitVector.push(0);
4143e41f4b71Sopenharmony_cibitVector.push(1);
4144e41f4b71Sopenharmony_cibitVector.push(0); // bitVector: [0, 1, 0, 1, 0]
4145e41f4b71Sopenharmony_cibitVector.resize(10); // bitVector: [0, 1, 0, 1, 0, 0, 0, 0, 0, 0]
4146e41f4b71Sopenharmony_ciconsole.info("bitVector get bit vector's length:", bitVector.length) // 10
4147e41f4b71Sopenharmony_cibitVector.resize(3); // bitVector: [0, 1, 0]
4148e41f4b71Sopenharmony_ciconsole.info("bitVector get bit vector's length:", bitVector.length) // 3
4149e41f4b71Sopenharmony_ci```
4150e41f4b71Sopenharmony_ci
4151e41f4b71Sopenharmony_ci### getBitCountByRange
4152e41f4b71Sopenharmony_ci
4153e41f4b71Sopenharmony_cigetBitCountByRange(element: number, fromIndex: number, toIndex: number): number
4154e41f4b71Sopenharmony_ci
4155e41f4b71Sopenharmony_ci统计指定范围内获取指定bit值的数量。
4156e41f4b71Sopenharmony_ci
4157e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
4158e41f4b71Sopenharmony_ci
4159e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
4160e41f4b71Sopenharmony_ci
4161e41f4b71Sopenharmony_ci**参数:**
4162e41f4b71Sopenharmony_ci
4163e41f4b71Sopenharmony_ci| 参数名    | 类型   | 必填 | 说明                                 |
4164e41f4b71Sopenharmony_ci| --------- | ------ | ---- | ------------------------------------ |
4165e41f4b71Sopenharmony_ci| element   | number | 是   | 待统计的bit值,0表示0,其余值表示1。 |
4166e41f4b71Sopenharmony_ci| fromIndex | number | 是   | 范围起始索引,包含本索引值。         |
4167e41f4b71Sopenharmony_ci| toIndex   | number | 是   | 范围终止索引,不包含本索引值。       |
4168e41f4b71Sopenharmony_ci
4169e41f4b71Sopenharmony_ci**返回值:**
4170e41f4b71Sopenharmony_ci
4171e41f4b71Sopenharmony_ci| 类型   | 说明                                |
4172e41f4b71Sopenharmony_ci| ------ | ----------------------------------- |
4173e41f4b71Sopenharmony_ci| number | 统计指定范围内获取指定bit值的数量。 |
4174e41f4b71Sopenharmony_ci
4175e41f4b71Sopenharmony_ci**错误码:**
4176e41f4b71Sopenharmony_ci
4177e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。
4178e41f4b71Sopenharmony_ci
4179e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                                     |
4180e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------------------ |
4181e41f4b71Sopenharmony_ci| 401      | Parameter error. Possible causes:<br/>1.Mandatory parameters are left unspecified;<br/>2.Incorrect parameter types. |
4182e41f4b71Sopenharmony_ci| 10200001 | The value of fromIndex or toIndex is out of range.           |
4183e41f4b71Sopenharmony_ci| 10200011 | The getBitCountByRange method cannot be bound.               |
4184e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification error.                               |
4185e41f4b71Sopenharmony_ci
4186e41f4b71Sopenharmony_ci**示例:**
4187e41f4b71Sopenharmony_ci
4188e41f4b71Sopenharmony_ci```ts
4189e41f4b71Sopenharmony_cilet bitVector: collections.BitVector = new collections.BitVector(0);
4190e41f4b71Sopenharmony_cibitVector.push(0);
4191e41f4b71Sopenharmony_cibitVector.push(1);
4192e41f4b71Sopenharmony_cibitVector.push(0);
4193e41f4b71Sopenharmony_cibitVector.push(1);
4194e41f4b71Sopenharmony_cibitVector.push(0); // bitVector: [0, 1, 0, 1, 0]
4195e41f4b71Sopenharmony_cilet res: number = bitVector.getBitCountByRange(1, 1, 4);
4196e41f4b71Sopenharmony_ciconsole.info("bitVector getBitCountByRange:", res) // 2
4197e41f4b71Sopenharmony_ci```
4198e41f4b71Sopenharmony_ci
4199e41f4b71Sopenharmony_ci### getIndexOf
4200e41f4b71Sopenharmony_ci
4201e41f4b71Sopenharmony_cigetIndexOf(element: number, fromIndex: number, toIndex: number): number
4202e41f4b71Sopenharmony_ci
4203e41f4b71Sopenharmony_ci返回指定bit值首次出现时的索引值,查找失败返回-1。
4204e41f4b71Sopenharmony_ci
4205e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
4206e41f4b71Sopenharmony_ci
4207e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
4208e41f4b71Sopenharmony_ci
4209e41f4b71Sopenharmony_ci**参数:**
4210e41f4b71Sopenharmony_ci
4211e41f4b71Sopenharmony_ci| 参数名    | 类型   | 必填 | 说明                                 |
4212e41f4b71Sopenharmony_ci| --------- | ------ | ---- | ------------------------------------ |
4213e41f4b71Sopenharmony_ci| element   | number | 是   | 待统计的bit值,0表示0,其余值表示1。 |
4214e41f4b71Sopenharmony_ci| fromIndex | number | 是   | 范围起始索引,包含本索引值。         |
4215e41f4b71Sopenharmony_ci| toIndex   | number | 是   | 范围终止索引,不包含本索引值。       |
4216e41f4b71Sopenharmony_ci
4217e41f4b71Sopenharmony_ci**返回值:**
4218e41f4b71Sopenharmony_ci
4219e41f4b71Sopenharmony_ci| 类型   | 说明                                              |
4220e41f4b71Sopenharmony_ci| ------ | ------------------------------------------------- |
4221e41f4b71Sopenharmony_ci| number | 返回指定bit值首次出现时的下标值,查找失败返回-1。 |
4222e41f4b71Sopenharmony_ci
4223e41f4b71Sopenharmony_ci**错误码:**
4224e41f4b71Sopenharmony_ci
4225e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。
4226e41f4b71Sopenharmony_ci
4227e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                                     |
4228e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------------------ |
4229e41f4b71Sopenharmony_ci| 401      | Parameter error. Possible causes:<br/>1.Mandatory parameters are left unspecified;<br/>2.Incorrect parameter types. |
4230e41f4b71Sopenharmony_ci| 10200001 | The value of fromIndex or toIndex is out of range.           |
4231e41f4b71Sopenharmony_ci| 10200011 | The getIndexOf method cannot be bound.                       |
4232e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification error.                               |
4233e41f4b71Sopenharmony_ci
4234e41f4b71Sopenharmony_ci**示例:**
4235e41f4b71Sopenharmony_ci
4236e41f4b71Sopenharmony_ci```ts
4237e41f4b71Sopenharmony_cilet bitVector: collections.BitVector = new collections.BitVector(0);
4238e41f4b71Sopenharmony_cibitVector.push(0);
4239e41f4b71Sopenharmony_cibitVector.push(1);
4240e41f4b71Sopenharmony_cibitVector.push(0);
4241e41f4b71Sopenharmony_cibitVector.push(1);
4242e41f4b71Sopenharmony_cibitVector.push(0); // bitVector: [0, 1, 0, 1, 0]
4243e41f4b71Sopenharmony_cilet res: number = bitVector.getIndexOf(0, 1, 4);
4244e41f4b71Sopenharmony_ciconsole.info("bitVector getIndexOf:", res) // 2
4245e41f4b71Sopenharmony_ci```
4246e41f4b71Sopenharmony_ci
4247e41f4b71Sopenharmony_ci### getLastIndexOf
4248e41f4b71Sopenharmony_ci
4249e41f4b71Sopenharmony_cigetLastIndexOf(element: number, fromIndex: number, toIndex: number): number
4250e41f4b71Sopenharmony_ci
4251e41f4b71Sopenharmony_ci返回指定bit值最后一次出现时的下标值,查找失败返回-1。
4252e41f4b71Sopenharmony_ci
4253e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
4254e41f4b71Sopenharmony_ci
4255e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
4256e41f4b71Sopenharmony_ci
4257e41f4b71Sopenharmony_ci**参数:**
4258e41f4b71Sopenharmony_ci
4259e41f4b71Sopenharmony_ci| 参数名    | 类型   | 必填 | 说明                                 |
4260e41f4b71Sopenharmony_ci| --------- | ------ | ---- | ------------------------------------ |
4261e41f4b71Sopenharmony_ci| element   | number | 是   | 待统计的bit值,0表示0,其余值表示1。 |
4262e41f4b71Sopenharmony_ci| fromIndex | number | 是   | 范围起始索引,包含本索引值。         |
4263e41f4b71Sopenharmony_ci| toIndex   | number | 是   | 范围终止索引,不包含本索引值。       |
4264e41f4b71Sopenharmony_ci
4265e41f4b71Sopenharmony_ci**返回值:**
4266e41f4b71Sopenharmony_ci
4267e41f4b71Sopenharmony_ci| 类型   | 说明                                                  |
4268e41f4b71Sopenharmony_ci| ------ | ----------------------------------------------------- |
4269e41f4b71Sopenharmony_ci| number | 返回指定bit值最后一次出现时的下标值,查找失败返回-1。 |
4270e41f4b71Sopenharmony_ci
4271e41f4b71Sopenharmony_ci**错误码:**
4272e41f4b71Sopenharmony_ci
4273e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。
4274e41f4b71Sopenharmony_ci
4275e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                                     |
4276e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------------------ |
4277e41f4b71Sopenharmony_ci| 401      | Parameter error. Possible causes:<br/>1.Mandatory parameters are left unspecified;<br/>2.Incorrect parameter types. |
4278e41f4b71Sopenharmony_ci| 10200001 | The value of fromIndex or toIndex is out of range.           |
4279e41f4b71Sopenharmony_ci| 10200011 | The getLastIndexOf method cannot be bound.                   |
4280e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification error.                               |
4281e41f4b71Sopenharmony_ci
4282e41f4b71Sopenharmony_ci**示例:**
4283e41f4b71Sopenharmony_ci
4284e41f4b71Sopenharmony_ci```ts
4285e41f4b71Sopenharmony_cilet bitVector: collections.BitVector = new collections.BitVector(0);
4286e41f4b71Sopenharmony_cibitVector.push(0);
4287e41f4b71Sopenharmony_cibitVector.push(1);
4288e41f4b71Sopenharmony_cibitVector.push(0);
4289e41f4b71Sopenharmony_cibitVector.push(1);
4290e41f4b71Sopenharmony_cibitVector.push(0); // bitVector: [0, 1, 0, 1, 0]
4291e41f4b71Sopenharmony_cilet res: number = bitVector.getLastIndexOf(0, 1, 4);
4292e41f4b71Sopenharmony_ciconsole.info("bitVector getLastIndexOf:", res) // 2
4293e41f4b71Sopenharmony_ci```
4294e41f4b71Sopenharmony_ci
4295e41f4b71Sopenharmony_ci### flipBitByIndex
4296e41f4b71Sopenharmony_ci
4297e41f4b71Sopenharmony_ciflipBitByIndex(index: number): void
4298e41f4b71Sopenharmony_ci
4299e41f4b71Sopenharmony_ci翻转BitVector指定索引处的bit值,0翻转为1,1翻转为0。
4300e41f4b71Sopenharmony_ci
4301e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
4302e41f4b71Sopenharmony_ci
4303e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
4304e41f4b71Sopenharmony_ci
4305e41f4b71Sopenharmony_ci**参数:**
4306e41f4b71Sopenharmony_ci
4307e41f4b71Sopenharmony_ci| 参数名 | 类型   | 必填 | 说明       |
4308e41f4b71Sopenharmony_ci| ------ | ------ | ---- | ---------- |
4309e41f4b71Sopenharmony_ci| index  | number | 是   | 指定索引。 |
4310e41f4b71Sopenharmony_ci
4311e41f4b71Sopenharmony_ci**错误码:**
4312e41f4b71Sopenharmony_ci
4313e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。
4314e41f4b71Sopenharmony_ci
4315e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                                     |
4316e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------------------ |
4317e41f4b71Sopenharmony_ci| 401      | Parameter error. Possible causes:<br/>1.Mandatory parameters are left unspecified;<br/>2.Incorrect parameter types. |
4318e41f4b71Sopenharmony_ci| 10200001 | The value of index is out of range.                          |
4319e41f4b71Sopenharmony_ci| 10200011 | The flipBitByIndex method cannot be bound.                   |
4320e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification error.                               |
4321e41f4b71Sopenharmony_ci
4322e41f4b71Sopenharmony_ci**示例:**
4323e41f4b71Sopenharmony_ci
4324e41f4b71Sopenharmony_ci```ts
4325e41f4b71Sopenharmony_cilet bitVector: collections.BitVector = new collections.BitVector(0);
4326e41f4b71Sopenharmony_cibitVector.push(0);
4327e41f4b71Sopenharmony_cibitVector.push(1);
4328e41f4b71Sopenharmony_cibitVector.push(0);
4329e41f4b71Sopenharmony_cibitVector.push(1);
4330e41f4b71Sopenharmony_cibitVector.push(0); // bitVector: [0, 1, 0, 1, 0]
4331e41f4b71Sopenharmony_cibitVector.flipBitByIndex(3); // bitVector: [0, 1, 0, 0, 0]
4332e41f4b71Sopenharmony_ci```
4333e41f4b71Sopenharmony_ci
4334e41f4b71Sopenharmony_ci### flipBitsByRange
4335e41f4b71Sopenharmony_ci
4336e41f4b71Sopenharmony_ciflipBitsByRange(fromIndex: number, toIndex: number): void
4337e41f4b71Sopenharmony_ci
4338e41f4b71Sopenharmony_ci翻转BitVector指定范围内的bit值,0翻转为1,1翻转为0。
4339e41f4b71Sopenharmony_ci
4340e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
4341e41f4b71Sopenharmony_ci
4342e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
4343e41f4b71Sopenharmony_ci
4344e41f4b71Sopenharmony_ci**参数:**
4345e41f4b71Sopenharmony_ci
4346e41f4b71Sopenharmony_ci| 参数名    | 类型   | 必填 | 说明                           |
4347e41f4b71Sopenharmony_ci| --------- | ------ | ---- | ------------------------------ |
4348e41f4b71Sopenharmony_ci| fromIndex | number | 是   | 范围起始索引,包含本索引值。   |
4349e41f4b71Sopenharmony_ci| toIndex   | number | 是   | 范围终止索引,不包含本索引值。 |
4350e41f4b71Sopenharmony_ci
4351e41f4b71Sopenharmony_ci**错误码:**
4352e41f4b71Sopenharmony_ci
4353e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。
4354e41f4b71Sopenharmony_ci
4355e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                                     |
4356e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------------------ |
4357e41f4b71Sopenharmony_ci| 401      | Parameter error. Possible causes:<br/>1.Mandatory parameters are left unspecified;<br/>2.Incorrect parameter types. |
4358e41f4b71Sopenharmony_ci| 10200001 | The value of fromIndex or toIndex is out of range.           |
4359e41f4b71Sopenharmony_ci| 10200011 | The flipBitsByRange method cannot be bound.                  |
4360e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification error.                               |
4361e41f4b71Sopenharmony_ci
4362e41f4b71Sopenharmony_ci**示例:**
4363e41f4b71Sopenharmony_ci
4364e41f4b71Sopenharmony_ci```ts
4365e41f4b71Sopenharmony_cilet bitVector: collections.BitVector = new collections.BitVector(0);
4366e41f4b71Sopenharmony_cibitVector.push(0);
4367e41f4b71Sopenharmony_cibitVector.push(1);
4368e41f4b71Sopenharmony_cibitVector.push(0);
4369e41f4b71Sopenharmony_cibitVector.push(1);
4370e41f4b71Sopenharmony_cibitVector.push(0); // bitVector: [0, 1, 0, 1, 0]
4371e41f4b71Sopenharmony_cibitVector.flipBitsByRange(1, 4); // bitVector: [0, 0, 1, 0, 0]
4372e41f4b71Sopenharmony_ci```
4373e41f4b71Sopenharmony_ci
4374e41f4b71Sopenharmony_ci### values
4375e41f4b71Sopenharmony_ci
4376e41f4b71Sopenharmony_civalues(): IterableIterator\<number>
4377e41f4b71Sopenharmony_ci
4378e41f4b71Sopenharmony_ci返回一个新的迭代器对象,该对象包含BitVector中每个元素的值。
4379e41f4b71Sopenharmony_ci
4380e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。
4381e41f4b71Sopenharmony_ci
4382e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
4383e41f4b71Sopenharmony_ci
4384e41f4b71Sopenharmony_ci**返回值:**
4385e41f4b71Sopenharmony_ci
4386e41f4b71Sopenharmony_ci| 类型                           | 说明                          |
4387e41f4b71Sopenharmony_ci| ------------------------------ | ----------------------------- |
4388e41f4b71Sopenharmony_ci| IterableIterator&lt;number&gt; | 返回一个BitVector迭代器对象。 |
4389e41f4b71Sopenharmony_ci
4390e41f4b71Sopenharmony_ci**错误码:**
4391e41f4b71Sopenharmony_ci
4392e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
4393e41f4b71Sopenharmony_ci
4394e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                           |
4395e41f4b71Sopenharmony_ci| -------- | ---------------------------------- |
4396e41f4b71Sopenharmony_ci| 10200011 | The values method cannot be bound. |
4397e41f4b71Sopenharmony_ci| 10200201 | Concurrent modification error.     |
4398e41f4b71Sopenharmony_ci
4399e41f4b71Sopenharmony_ci**示例:**
4400e41f4b71Sopenharmony_ci
4401e41f4b71Sopenharmony_ci```ts
4402e41f4b71Sopenharmony_cilet bitVector: collections.BitVector = new collections.BitVector(0);
4403e41f4b71Sopenharmony_cibitVector.push(0);
4404e41f4b71Sopenharmony_cibitVector.push(1);
4405e41f4b71Sopenharmony_cibitVector.push(0);
4406e41f4b71Sopenharmony_cibitVector.push(1);
4407e41f4b71Sopenharmony_cibitVector.push(0); // bitVector: [0, 1, 0, 1, 0]
4408e41f4b71Sopenharmony_cilet iter: IterableIterator<number> = bitVector.values();
4409e41f4b71Sopenharmony_cilet temp: IteratorResult<number> = iter.next();
4410e41f4b71Sopenharmony_ciwhile (!temp.done) {
4411e41f4b71Sopenharmony_ci  console.info(JSON.stringify(temp.value));
4412e41f4b71Sopenharmony_ci  temp = iter.next();
4413e41f4b71Sopenharmony_ci} // 依次输出 0,1,0,1,0
4414e41f4b71Sopenharmony_ci```
4415e41f4b71Sopenharmony_ci
4416e41f4b71Sopenharmony_ci### [Symbol.iterator]
4417e41f4b71Sopenharmony_ci
4418e41f4b71Sopenharmony_ci[Symbol.iterator]\(): IterableIterator&lt;number&gt;
4419e41f4b71Sopenharmony_ci
4420e41f4b71Sopenharmony_ci返回一个迭代器,迭代器的每一项都是一个 JavaScript 对象,并返回该对象。
4421e41f4b71Sopenharmony_ci
4422e41f4b71Sopenharmony_ci> **说明:**
4423e41f4b71Sopenharmony_ci>
4424e41f4b71Sopenharmony_ci> 本接口不支持在.ets文件中使用。
4425e41f4b71Sopenharmony_ci
4426e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
4427e41f4b71Sopenharmony_ci
4428e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
4429e41f4b71Sopenharmony_ci
4430e41f4b71Sopenharmony_ci**返回值:**
4431e41f4b71Sopenharmony_ci
4432e41f4b71Sopenharmony_ci| 类型                      | 说明             |
4433e41f4b71Sopenharmony_ci| ------------------------- | ---------------- |
4434e41f4b71Sopenharmony_ci| IterableIterator&lt;number&gt; | 返回一个迭代器。 |
4435e41f4b71Sopenharmony_ci
4436e41f4b71Sopenharmony_ci**错误码:**
4437e41f4b71Sopenharmony_ci
4438e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。
4439e41f4b71Sopenharmony_ci
4440e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                    |
4441e41f4b71Sopenharmony_ci| -------- | ------------------------------------------- |
4442e41f4b71Sopenharmony_ci| 10200011 | The Symbol.iterator method cannot be bound. |
4443e41f4b71Sopenharmony_ci
4444e41f4b71Sopenharmony_ci**示例:**
4445e41f4b71Sopenharmony_ci
4446e41f4b71Sopenharmony_ci```ts
4447e41f4b71Sopenharmony_cilet bitVector: collections.BitVector = new collections.BitVector(0);
4448e41f4b71Sopenharmony_cibitVector.push(0);
4449e41f4b71Sopenharmony_cibitVector.push(1);
4450e41f4b71Sopenharmony_cibitVector.push(0);
4451e41f4b71Sopenharmony_cibitVector.push(1);
4452e41f4b71Sopenharmony_cibitVector.push(0);
4453e41f4b71Sopenharmony_ci
4454e41f4b71Sopenharmony_cifor (let item of bitVector) {
4455e41f4b71Sopenharmony_ci  console.info("value: " + item);
4456e41f4b71Sopenharmony_ci}
4457e41f4b71Sopenharmony_ci```
4458e41f4b71Sopenharmony_ci
4459e41f4b71Sopenharmony_ci### [index: number]
4460e41f4b71Sopenharmony_ci
4461e41f4b71Sopenharmony_ci&#91;index: number&#93;: number
4462e41f4b71Sopenharmony_ci
4463e41f4b71Sopenharmony_ci返回BitVector指定索引位置的元素。
4464e41f4b71Sopenharmony_ci
4465e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
4466e41f4b71Sopenharmony_ci
4467e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang
4468e41f4b71Sopenharmony_ci
4469e41f4b71Sopenharmony_ci| 参数名    | 类型   | 必填 | 说明                     |
4470e41f4b71Sopenharmony_ci| ----- | ------ | ---- | -------------------------- |
4471e41f4b71Sopenharmony_ci| index | number | 是   | 所需代码单元的从零开始的索引。|
4472e41f4b71Sopenharmony_ci
4473e41f4b71Sopenharmony_ci**返回值:**
4474e41f4b71Sopenharmony_ci
4475e41f4b71Sopenharmony_ci| 类型   | 说明                 |
4476e41f4b71Sopenharmony_ci| ----- | ---------------------|
4477e41f4b71Sopenharmony_ci| number | 返回number数据类型。 |
4478e41f4b71Sopenharmony_ci
4479e41f4b71Sopenharmony_ci**示例:**
4480e41f4b71Sopenharmony_ci
4481e41f4b71Sopenharmony_ci```ts
4482e41f4b71Sopenharmony_cilet bitVector: collections.BitVector = new collections.BitVector(0);
4483e41f4b71Sopenharmony_cibitVector.push(0);
4484e41f4b71Sopenharmony_cibitVector.push(1);
4485e41f4b71Sopenharmony_cibitVector.push(0);
4486e41f4b71Sopenharmony_cibitVector.push(1);
4487e41f4b71Sopenharmony_cibitVector.push(0); // bitVector: [0, 1, 0, 1, 0]
4488e41f4b71Sopenharmony_ciconsole.info("BitVector Element Index at 1: " + bitVector[1]);
4489e41f4b71Sopenharmony_ci```