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<T> 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<T> | 返回一个迭代器。 | 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[index: number]: 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<[K, V]> | 返回一个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<K> | 返回一个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<V> | 返回一个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<K, V> | 否 | 当前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<K, V> | 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<[K, V]> 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<[T, T]> | 返回一个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<T> | 返回一个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<T> | 返回一个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<T> | 否 | 当前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<T> | 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<T> 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<T> | 返回一个迭代器。 | 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<number> 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<T> | 返回一个迭代器。 | 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[index: number]: 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<number> | 返回一个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<number> 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<number> | 返回一个迭代器。 | 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[index: number]: 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```