未验证 提交 94b7fd7e 编写于 作者: O openharmony_ci 提交者: Gitee

!1515 修改文档规范,更新Readme

Merge pull request !1515 from zengyawen/master
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
- [媒体服务](js-apis-media.md) - [媒体服务](js-apis-media.md)
- 安全 - 安全
- [用户认证](js-apis-useriam-userauth.md) - [用户认证](js-apis-useriam-userauth.md)
- [访问控制](js-apis-security-accessToken.md) - [访问控制](js-apis-abilityAccessCtrl.md)
- 数据管理 - 数据管理
- [轻量级存储](js-apis-data-storage.md) - [轻量级存储](js-apis-data-storage.md)
- [分布式数据管理](js-apis-distributed-data.md) - [分布式数据管理](js-apis-distributed-data.md)
...@@ -68,13 +68,15 @@ ...@@ -68,13 +68,15 @@
- [定时器](js-apis-basic-features-timer.md) - [定时器](js-apis-basic-features-timer.md)
- [设置系统时间](js-apis-system-time.md) - [设置系统时间](js-apis-system-time.md)
- [动画](js-apis-basic-features-animator.md) - [动画](js-apis-basic-features-animator.md)
- [WebGL](js-apis-webgl.md)
- [WebGL2](js-apis-webgl2.md)
- DFX
- [应用打点](js-apis-hiappevent.md) - [应用打点](js-apis-hiappevent.md)
- [性能打点](js-apis-hitracemeter.md) - [性能打点](js-apis-hitracemeter.md)
- [故障日志获取](js-apis-faultLogger.md) - [故障日志获取](js-apis-faultLogger.md)
- [分布式跟踪](js-apis-hitracechain.md) - [分布式跟踪](js-apis-hitracechain.md)
- [日志打印](js-apis-hilog.md) - [日志打印](js-apis-hilog.md)
- [WebGL](js-apis-webgl.md) - [检测模式](js-apis-hichecker.md)
- [WebGL2](js-apis-webgl2.md)
- 语言基础类库 - 语言基础类库
- [获取进程相关的信息](js-apis-process.md) - [获取进程相关的信息](js-apis-process.md)
- [URL字符串解析](js-apis-url.md) - [URL字符串解析](js-apis-url.md)
......
# 访问控制管理
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## 导入模块
```
import abilityAccessCtrl from '@ohos.abilityAccessCtrl'
```
## 系统能力
SystemCapability.Security.AccessToken
## abilityAccessCtrl.createAtManager
createAtManager(): AtManager
访问控制管理:获取访问控制模块对象。
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| [AtManager](#atmanager) | 获取访问控制模块的实例。 |
**示例:**
```
var AtManager = abilityAccessCtrl.createAtManager();
```
## AtManager
管理访问控制模块的实例。
### verifyAccessToken
verifyAccessToken(tokenID: number, permissionName: string): Promise<GrantStatus>
校验应用是否授予权限,使用Promise方式异步返回结果。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------- | ---- | ------------------------------------------ |
| tokenID | number | 是 | 要校验的目标应用的身份标识。 |
| permissionName | string | 是 | 需要校验的权限名称。 |
**返回值:**
| 类型 | 说明 |
| :------------ | :---------------------------------- |
| Promise<GrantStatus> | Promise实例,用于获取异步返回的授权状态结果。 |
**示例:**
```
const AtManager = abilityAccessCtrl.createAtManager();
let tokenID = 0;
let promise = AtManager.verifyAccessToken(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS");
promise.then(data => {
console.log(`promise: data->${JSON.stringify(data)}`);
});
```
### grantUserGrantedPermission
grantUserGrantedPermission(tokenID: number, permissionName: string, permissionFlag: number): Promise<number>
授予应用user grant权限,使用Promise方式异步返回结果。
需要权限:ohos.permission.GRANT_SENSITIVE_PERMISSIONS。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| --------- | ------------------- | ---- | ------------------------------------------------------------ |
| tokenID | number | 是 | 目标应用的身份标识。 |
| permissionName | string | 是 | 被授予的权限名称。 |
| permissionFlag | number | 是 | 授权选项,1表示下次仍需弹窗,2表示允许、禁止后不再提醒,3表示系统授权不允许更改。 |
**返回值:**
| 类型 | 说明 |
| :------------ | :---------------------------------- |
| Promise<number> | Promise实例,用于获取异步返回的授权操作结果。 |
**示例:**
```
const AtManager = abilityAccessCtrl.createAtManager();
let tokenID = 0;
let promise = AtManager.grantUserGrantedPermission(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS");
promise.then(data => {
console.log(`promise: data->${JSON.stringify(data)}`);
});
```
### grantUserGrantedPermission
grantUserGrantedPermission(tokenID: number, permissionName: string, permissionFlag: number, callback: AsyncCallback<number>): void
授予应用user grant权限,使用callback回调异步返回结果。
需要权限:ohos.permission.GRANT_SENSITIVE_PERMISSIONS。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| --------- | ------------------- | ---- | ------------------------------------------------------------ |
| tokenID | number | 是 | 目标应用的身份标识。 |
| permissionName | string | 是 | 被授予的权限名称。 |
| permissionFlag | number | 是 | 授权选项,1表示下次仍需弹窗,2表示允许、禁止后不再提醒,3表示系统授权不允许更改。 |
| callback | AsyncCallback<number> | 是 | 检查授予应用user grant权限的操作结果同步的回调。 |
**示例:**
```
const AtManager = abilityAccessCtrl.createAtManager();
let tokenID = 0;
let permissionFlag = 1;
AtManager.grantUserGrantedPermission(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS",permissionFlag, data => {
console.log(`callback: data->${JSON.stringify(data)}`);
});
```
### revokeUserGrantedPermission
revokeUserGrantedPermission(tokenID: number, permissionName: string, permissionFlag: number): Promise<number>
撤销应用user grant权限,使用Promise方式异步返回结果。
需要权限:ohos.permission.REVOKE_SENSITIVE_PERMISSIONS。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| --------- | ------------------- | ---- | ------------------------------------------------------------ |
| tokenID | number | 是 | 目标应用的身份标识。 |
| permissionName | string | 是 | 被撤销的权限名称。 |
| permissionFlag | number | 是 | 授权选项,1表示下次仍需弹窗,2表示允许、禁止后不再提醒,3表示系统授权不允许更改。 |
**返回值:**
| 类型 | 说明 |
| :------------ | :---------------------------------- |
| Promise<number> | Promise实例,用于获取异步返回的授权操作结果。 |
**示例:**
```
const AtManager = abilityAccessCtrl.createAtManager();
let tokenID = 0;
let permissionFlag = 1;
let promise = AtManager.revokeUserGrantedPermission(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS", permissionFlag);
promise.then(data => {
console.log(`promise: data->${JSON.stringify(data)}`);
});
```
### revokeUserGrantedPermission
revokeUserGrantedPermission(tokenID: number, permissionName: string, permissionFlag: number, callback: AsyncCallback<number>): void
撤销应用user grant权限,使用callback回调异步返回结果。
需要权限:ohos.permission.REVOKE_SENSITIVE_PERMISSIONS。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| --------- | ------------------- | ---- | ------------------------------------------------------------ |
| tokenID | number | 是 | 目标应用的身份标识。 |
| permissionName | string | 是 | 被撤销的权限名称。 |
| permissionFlag | number | 是 | 授权选项,1表示下次仍需弹窗,2表示允许、禁止后不再提醒,3表示系统授权不允许更改。 |
| callback | AsyncCallback<number> | 是 | 检查撤销应用user grant权限的操作结果同步的回调。 |
**示例:**
```
const AtManager = abilityAccessCtrl.createAtManager();
let tokenID = 0;
AtManager.revokeUserGrantedPermission(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS",permissionFlag, data => {
console.log(`callback: data->${JSON.stringify(data)}`);
});
```
### getPermissionFlags
getPermissionFlags(tokenID: number, permissionName: string): Promise<number>
获取指定应用的指定权限的flag,使用Promise方式异步返回结果。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| --------- | ------------------- | ---- | ------------------------------------------------------------ |
| tokenID | number | 是 | 目标应用的身份标识。 |
| permissionName | string | 是 | 查询的权限名称。 |
**返回值:**
| 类型 | 说明 |
| :------------ | :---------------------------------- |
| Promise<number> | Promise实例,用于获取异步返回的查询结果。 |
**示例:**
```
const AtManager = abilityAccessCtrl.createAtManager();
let tokenID = 0;
let promise = AtManager.getPermissionFlags(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS");
promise.then(data => {
console.log(`promise: data->${JSON.stringify(data)}`);
});
```
\ No newline at end of file
...@@ -9,9 +9,9 @@ ...@@ -9,9 +9,9 @@
import ArrayList from '@ohos.util.ArrayList' import ArrayList from '@ohos.util.ArrayList'
``` ```
## 权限 ## 系统能力
SystemCapability.Utils.Lang
## ArrayList ## ArrayList
...@@ -19,500 +19,557 @@ import ArrayList from '@ohos.util.ArrayList' ...@@ -19,500 +19,557 @@ import ArrayList from '@ohos.util.ArrayList'
| 名称 | 参数类型 | 可读 | 可写 | 说明 | | 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- | -------- |
| length | number | 是 | 否 | ArrayList的元素个数 | | length | number | 是 | 否 | ArrayList的元素个数 |
### constructor ### constructor
constructor(); constructor()
ArrayList的构造函数。 ArrayList的构造函数。
- 示例: **示例:**
```
let arrayList = new ArrayList(); ```
``` let arrayList = new ArrayList();
```
### add ### add
add(element: T): boolean; add(element: T): boolean
在ArrayList尾部插入元素。 在ArrayList尾部插入元素。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| element | T | 是 | 添加进去的元素 | | -------- | -------- | -------- | -------- |
| element | T | 是 | 待插入的元素。 |
- 返回值:
| 类型 | 说明 | **返回值:**
| -------- | -------- |
| boolean | 插入成功返回true,失败返回false | | 类型 | 说明 |
| -------- | -------- |
- 示例: | boolean | 插入成功返回true,失败返回false。 |
```
let arrayList = new ArrayList(); **示例:**
arrayList.add("a");
arrayList.add(1); ```
let b = [1, 2, 3]; let arrayList = new ArrayList();
arrayList.add(b); arrayList.add("a");
let c = {name: "lala", age: "13"}; arrayList.add(1);
arrayList.add(false); let b = [1, 2, 3];
``` arrayList.add(b);
let c = {name: "lala", age: "13"};
arrayList.add(false);
```
### insert ### insert
insert(element: T, index: number): void; insert(element: T, index: number): void
在长度范围内任意位置插入指定元素。 在长度范围内任意位置插入指定元素。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| element | T | 是 | 被插入的元素 | | -------- | -------- | -------- | -------- |
| index | number | 是 | 被插入的位置索引 | | element | T | 是 | 被插入的元素。 |
| index | number | 是 | 被插入的位置索引。 |
**示例:**
- 示例: ```
``` let arrayList = new ArrayList();
let arrayList = new ArrayList(); arrayList.insert("A", 0);
arrayList.insert("A", 0); arrayList.insert(0, 1);
arrayList.insert(0, 1); arrayList.insert(true, 2);
arrayList.insert(true, 2); ```
```
### has ### has
has(element: T): boolean; has(element: T): boolean
判断此ArrayList中是否含有该指定元素。 判断此ArrayList中是否含有该指定元素。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| element | T | 是 | 指定元素 |
- 返回值: | 参数名 | 类型 | 必填 | 说明 |
| 类型 | 说明 | | -------- | -------- | -------- | -------- |
| -------- | -------- | | element | T | 是 | 指定元素。 |
| boolean | 是否包含指定元素 |
- 示例: **返回值:**
```
let arrayList = new ArrayList(); | 类型 | 说明 |
arrayList.has("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); | -------- | -------- |
arrayList.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); | boolean | 返回true表示包含指定元素,否则返回false。 |
arrayList.has("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
``` **示例:**
```
let arrayList = new ArrayList();
arrayList.has("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
arrayList.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
arrayList.has("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
```
### getIndexOf ### getIndexOf
getIndexOf(element: T): number; getIndexOf(element: T): number
返回指定元素第一次出现时的下标值,查找失败返回-1。 返回指定元素第一次出现时的下标值,查找失败返回-1。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| element | T | 是 | 指定元素 | | -------- | -------- | -------- | -------- |
| element | T | 是 | 指定元素。 |
- 返回值:
| 类型 | 说明 | **返回值:**
| -------- | -------- |
| number | 返回指定元素第一次出现时的下标值,查找失败返回-1 | | 类型 | 说明 |
| -------- | -------- |
- 示例: | number | 返回指定元素第一次出现时的下标值,查找失败返回-1。 |
```
let arrayList = new ArrayList(); **示例:**
arrayList.add(2);
arrayList.add(4); ```
arrayList.add(5); let arrayList = new ArrayList();
arrayList.add(2); arrayList.add(2);
arrayList.add(1); arrayList.add(4);
arrayList.add(2); arrayList.add(5);
arrayList.add(4); arrayList.add(2);
arrayList.getIndexOf(2); arrayList.add(1);
``` arrayList.add(2);
arrayList.add(4);
arrayList.getIndexOf(2);
```
### getLastIndexOf ### getLastIndexOf
getLastIndexOf(element: T): number; getLastIndexOf(element: T): number
返回指定元素最后一次出现时的下标值,查找失败返回-1。 返回指定元素最后一次出现时的下标值,查找失败返回-1。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| element | T | 是 | 指定元素 | | -------- | -------- | -------- | -------- |
| element | T | 是 | 指定元素。 |
- 返回值:
| 类型 | 说明 | **返回值:**
| -------- | -------- |
| number | 返回指定元素最后一次出现时的下标值,查找失败返回-1 | | 类型 | 说明 |
| -------- | -------- |
- 示例: | number | 返回指定元素最后一次出现时的下标值,查找失败返回-1。 |
```
let arrayList = new ArrayList(); **示例:**
arrayList.add(2);
arrayList.add(4); ```
arrayList.add(5); let arrayList = new ArrayList();
arrayList.add(2); arrayList.add(2);
arrayList.add(1); arrayList.add(4);
arrayList.add(2); arrayList.add(5);
arrayList.add(4); arrayList.add(2);
arrayList.getLastIndexOf(2); arrayList.add(1);
``` arrayList.add(2);
arrayList.add(4);
arrayList.getLastIndexOf(2);
```
### removeByIndex ### removeByIndex
removeByIndex(index: number): T; removeByIndex(index: number): T
根据元素的下标值查找元素,返回元素后将其删除。 根据元素的下标值查找元素,返回元素后将其删除。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| index | number | 是 | 指定元素的下标值 | | -------- | -------- | -------- | -------- |
| index | number | 是 | 指定元素的下标值。 |
- 返回值:
| 类型 | 说明 | **返回值:**
| -------- | -------- |
| T | 返回删除的元素 | | 类型 | 说明 |
| -------- | -------- |
- 示例: | T | 返回删除的元素。 |
```
let arrayList = new ArrayList(); **示例:**
arrayList.add(2);
arrayList.add(4); ```
arrayList.add(5); let arrayList = new ArrayList();
arrayList.add(2); arrayList.add(2);
arrayList.add(4); arrayList.add(4);
arrayList.removeByIndex(2); arrayList.add(5);
``` arrayList.add(2);
arrayList.add(4);
arrayList.removeByIndex(2);
```
### remove ### remove
remove(element: T): boolean; remove(element: T): boolean
删除查找到的第一个指定的元素。 删除查找到的第一个指定的元素。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| element | T | 是 | 指定元素 | | -------- | -------- | -------- | -------- |
| element | T | 是 | 指定元素。 |
- 返回值:
| 类型 | 说明 | **返回值:**
| -------- | -------- |
| boolean | 删除成功返回true,失败返回false | | 类型 | 说明 |
| -------- | -------- |
- 示例: | boolean | 删除成功返回true,失败返回false。 |
```
let arrayList = new ArrayList(); **示例:**
arrayList.add(2);
arrayList.add(4); ```
arrayList.add(5); let arrayList = new ArrayList();
arrayList.add(4); arrayList.add(2);
arrayList.remove(2); arrayList.add(4);
``` arrayList.add(5);
arrayList.add(4);
arrayList.remove(2);
```
### removeByRange ### removeByRange
removeByRange(fromIndex: number, toIndex: number): void; removeByRange(fromIndex: number, toIndex: number): void
从一段范围内删除元素,包括起始值但不包括终止值。 从一段范围内删除元素,包括起始值但不包括终止值。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| fromIndex | number | 是 | 起始下标 | | -------- | -------- | -------- | -------- |
| toIndex | number | 是 | 终止下标 | | fromIndex | number | 是 | 起始下标。 |
| toIndex | number | 是 | 终止下标。 |
- 示例:
``` **示例:**
let arrayList = new ArrayList();
arrayList.add(2); ```
arrayList.add(4); let arrayList = new ArrayList();
arrayList.add(5); arrayList.add(2);
arrayList.add(4); arrayList.add(4);
arrayList.removeByRange(2, 4); arrayList.add(5);
arrayList.removeByRange(4, 3); arrayList.add(4);
arrayList.removeByRange(2, 6); arrayList.removeByRange(2, 4);
``` arrayList.removeByRange(4, 3);
arrayList.removeByRange(2, 6);
```
### replaceAllElements ### replaceAllElements
replaceAllElements(callbackfn: (value: T, index?: number, arraylist?: ArrayList<T>) => T, replaceAllElements(callbackfn: (value: T, index?: number, arraylist?: ArrayList<T>) => T,
thisArg?: Object): void; thisArg?: Object): void
用户操作ArrayList中的元素,用操作后的元素替换原元素并返回操作后的元素。 用户操作ArrayList中的元素,用操作后的元素替换原元素并返回操作后的元素。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| callbackfn | function | 是 | 回调函数 | | -------- | -------- | -------- | -------- |
| thisArg | Object | 否 | callbackfn被调用时用作this值 | | callbackfn | function | 是 | 回调函数。 |
| thisArg | Object | 否 | callbackfn被调用时用作this值。 |
- callbackfn的参数说明
callbackfn的参数说明:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| value | T | 是 | 当前遍历到的元素 | | -------- | -------- | -------- | -------- |
| index | number | 否 | 当前遍历到的下标值 | | value | T | 是 | 当前遍历到的元素 |
| arraylist | ArrayList<T> | 否 | 当前调用replaceAllElements方法的实例对象 | | index | number | 否 | 当前遍历到的下标值 |
| arraylist | ArrayList<T> | 否 | 当前调用replaceAllElements方法的实例对象 |
- 示例:
``` **示例:**
let arrayList = new ArrayList();
arrayList.add(2); ```
arrayList.add(4); let arrayList = new ArrayList();
arrayList.add(5); arrayList.add(2);
arrayList.add(4); arrayList.add(4);
arrayList.replaceAllElements((value, index) => { arrayList.add(5);
arrayList.add(4);
arrayList.replaceAllElements((value, index) => {
return value = 2 * value; return value = 2 * value;
}); });
arrayList.replaceAllElements((value, index) => { arrayList.replaceAllElements((value, index) => {
return value = value - 2; return value = value - 2;
}); });
``` ```
### forEach ### forEach
forEach(callbackfn: (value: T, index?: number, arraylist?: ArrayList<T>) => void, forEach(callbackfn: (value: T, index?: number, arraylist?: ArrayList<T>) => void,
thisArg?: Object): void; thisArg?: Object): void
通过回调函数来遍历ArrayList实例对象上的元素以及元素对应的下标。 通过回调函数来遍历ArrayList实例对象上的元素以及元素对应的下标。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| callbackfn | function | 是 | 回调函数。 | | -------- | -------- | -------- | -------- |
| thisArg | Object | 否 | callbackfn被调用时用作this值 | | callbackfn | function | 是 | 回调函数。 |
| thisArg | Object | 否 | callbackfn被调用时用作this值。 |
- callbackfn的参数说明
callbackfn的参数说明:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| value | T | 是 | 当前遍历到的元素。 | | -------- | -------- | -------- | -------- |
| index | number | 否 | 当前遍历到的下标值。 | | value | T | 是 | 当前遍历到的元素。 |
| arraylist | ArrayList<T> | 否 | 当前调用forEach方法的实例对象。 | | index | number | 否 | 当前遍历到的下标值。 |
| arraylist | ArrayList<T> | 否 | 当前调用forEach方法的实例对象。 |
- 示例: **示例:**
```
let arrayList = new ArrayList(); ```
arrayList.add(2); let arrayList = new ArrayList();
arrayList.add(4); arrayList.add(2);
arrayList.add(5); arrayList.add(4);
arrayList.add(4); arrayList.add(5);
arrayList.forEach((value, index) => { arrayList.add(4);
arrayList.forEach((value, index) => {
console.log(value, index); console.log(value, index);
}); });
``` ```
### sort ### sort
sort(comparator?: (firstValue: T, secondValue: T) => number): void; sort(comparator?: (firstValue: T, secondValue: T) => number): void
对ArrayList中的元素进行一个排序操作 对ArrayList中的元素排序。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| comparator | function | 否 | 回调函数 | | -------- | -------- | -------- | -------- |
| comparator | function | 否 | 回调函数。 |
- comparator的参数说明
comparator的参数说明:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| firstValue | T | 是 | 前一项元素 | | -------- | -------- | -------- | -------- |
| secondValue | T | 是 | 后一项元素 | | firstValue | T | 是 | 前一项元素。 |
| secondValue | T | 是 | 后一项元素。 |
- 示例: **示例:**
```
let arrayList = new ArrayList(); ```
arrayList.add(2); let arrayList = new ArrayList();
arrayList.add(4); arrayList.add(2);
arrayList.add(5); arrayList.add(4);
arrayList.add(4); arrayList.add(5);
arrayList.sort(a, (b => a - b)); arrayList.add(4);
arrayList.sort(a, (b => b - a)); arrayList.sort(a, (b => a - b));
arrayList.sort(); arrayList.sort(a, (b => b - a));
``` arrayList.sort();
```
### subArrayList ### subArrayList
subArrayList(fromIndex: number, toIndex: number): ArrayList<T>; subArrayList(fromIndex: number, toIndex: number): ArrayList<T>
根据下标截取ArrayList中的一段元素,并返回这一段ArrayList实例, 包括起始值但不包括终止值 根据下标截取ArrayList中的一段元素,并返回这一段ArrayList实例,包括起始值但不包括终止值。
- 参数:
| 参数名 | 类型 | 必填 | 说明 | **参数:**
| -------- | -------- | -------- | -------- |
| fromIndex | number | 是 | 起始下标 | | 参数名 | 类型 | 必填 | 说明 |
| toIndex | number | 是 | 终止下标 | | -------- | -------- | -------- | -------- |
| fromIndex | number | 是 | 起始下标。 |
- 返回值: | toIndex | number | 是 | 终止下标。 |
| 类型 | 说明 |
| -------- | -------- | **返回值:**
| ArrayList<T> | 返回ArrayList对象实例 |
| 类型 | 说明 |
- 示例: | -------- | -------- |
``` | ArrayList<T> | 返回ArrayList对象实例。 |
let arrayList = new ArrayList();
arrayList.add(2); **示例:**
arrayList.add(4);
arrayList.add(5); ```
arrayList.add(4); let arrayList = new ArrayList();
arrayList.subArrayList(2, 4); arrayList.add(2);
arrayList.subArrayList(4, 3); arrayList.add(4);
arrayList.subArrayList(2, 6); arrayList.add(5);
``` arrayList.add(4);
arrayList.subArrayList(2, 4);
arrayList.subArrayList(4, 3);
arrayList.subArrayList(2, 6);
```
### clear ### clear
clear(): void; clear(): void
清除ArrayList中的所有元素,并把length置为0。 清除ArrayList中的所有元素,并把length置为0。
- 示例: **示例:**
```
let arrayList = new ArrayList(); ```
arrayList.add(2); let arrayList = new ArrayList();
arrayList.add(4); arrayList.add(2);
arrayList.add(5); arrayList.add(4);
arrayList.add(4); arrayList.add(5);
arrayList.clear(); arrayList.add(4);
``` arrayList.clear();
```
### clone ### clone
clone(): ArrayList<T> ; clone(): ArrayList<T>
克隆一个与ArrayList一模一样的实例,并返回克隆后的实例,修改克隆后的实例并不会影响原实例。 克隆一个与ArrayList一模一样的实例,并返回克隆后的实例,修改克隆后的实例并不会影响原实例。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| ArrayList<T> | 返回ArrayList对象实例 | | -------- | -------- |
| ArrayList<T> | 返回ArrayList对象实例。 |
- 示例:
``` **示例:**
let arrayList = new ArrayList();
arrayList.add(2); ```
arrayList.add(4); let arrayList = new ArrayList();
arrayList.add(5); arrayList.add(2);
arrayList.add(4); arrayList.add(4);
arrayList.clone(); arrayList.add(5);
``` arrayList.add(4);
arrayList.clone();
```
### getCapacity ### getCapacity
getCapacity(): number; getCapacity(): number
获取当前实例的容量大小。 获取当前实例的容量大小。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| number | 返回arraylist的容量大小 | | -------- | -------- |
| number | 返回arraylist的容量大小。 |
- 示例:
``` **示例:**
let arrayList = new ArrayList();
arrayList.add(2); ```
arrayList.add(4); let arrayList = new ArrayList();
arrayList.add(5); arrayList.add(2);
arrayList.add(4); arrayList.add(4);
arrayList.getCapacity(); arrayList.add(5);
``` arrayList.add(4);
arrayList.getCapacity();
```
### convertToArray ### convertToArray
convertToArray(): Array<T>; convertToArray(): Array<T>
把当前ArrayList实例转换成数组,并返回转换后的数组。 把当前ArrayList实例转换成数组,并返回转换后的数组。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| Array<T> | 返回数组类型 | | -------- | -------- |
| Array<T> | 返回数组类型。 |
- 示例:
``` **示例:**
let arrayList = new ArrayList();
arrayList.add(2); ```
arrayList.add(4); let arrayList = new ArrayList();
arrayList.add(5); arrayList.add(2);
arrayList.add(4); arrayList.add(4);
arrayList.convertToArray(); arrayList.add(5);
``` arrayList.add(4);
arrayList.convertToArray();
```
### isEmpty ### isEmpty
isEmpty(): boolean; isEmpty(): boolean
判断该ArrayList是否为空。 判断该ArrayList是否为空。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| boolean | 为空返回true, 不为空返回false | | -------- | -------- |
| boolean | 为空返回true,不为空返回false。 |
- 示例:
``` **示例:**
let arrayList = new ArrayList();
arrayList.add(2); ```
arrayList.add(4); let arrayList = new ArrayList();
arrayList.add(5); arrayList.add(2);
arrayList.add(4); arrayList.add(4);
arrayList.isEmpty(); arrayList.add(5);
``` arrayList.add(4);
arrayList.isEmpty();
```
### increaseCapacityTo ### increaseCapacityTo
increaseCapacityTo(newCapacity: number): void; increaseCapacityTo(newCapacity: number): void
如果传入的新容量大于或等于ArrayList中的元素个数,将容量变更为新容量。 如果传入的新容量大于或等于ArrayList中的元素个数,将容量变更为新容量。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| newCapacity | number | 是 | 新容量 | | -------- | -------- | -------- | -------- |
| newCapacity | number | 是 | 新容量。 |
- 示例: **示例:**
```
let arrayList = new ArrayList(); ```
arrayList.add(2); let arrayList = new ArrayList();
arrayList.add(4); arrayList.add(2);
arrayList.add(5); arrayList.add(4);
arrayList.add(4); arrayList.add(5);
arrayList.increaseCapacityTo(2); arrayList.add(4);
arrayList.increaseCapacityTo(8); arrayList.increaseCapacityTo(2);
``` arrayList.increaseCapacityTo(8);
```
### trimToCurrentLength ### trimToCurrentLength
trimToCurrentLength(): void; trimToCurrentLength(): void
把容量限制为当前的length大小。 把容量限制为当前的length大小。
- 示例: **示例:**
```
let arrayList = new ArrayList(); ```
arrayList.add(2); let arrayList = new ArrayList();
arrayList.add(4); arrayList.add(2);
arrayList.add(5); arrayList.add(4);
arrayList.add(4); arrayList.add(5);
arrayList.trimToCurrentLength(2); arrayList.add(4);
``` arrayList.trimToCurrentLength(2);
```
### [Symbol.iterator] ### [Symbol.iterator]
[Symbol.iterator]\(): IterableIterator<T>; [Symbol.iterator]\(): IterableIterator<T>
返回一个迭代器,迭代器的每一项都是一个 JavaScript 对象,并返回该对象。
返回一个迭代器,迭代器的每一项都是一个 JavaScript 对象,并返回该对象。 **返回值:**
- 返回值: | 类型 | 说明 |
| 类型 | 说明 | | -------- | -------- |
| -------- | -------- | | IterableIterator<T> | 返回一个迭代器。 |
| IterableIterator<T> | 返回一个迭代器 |
- 示例: **示例:**
```
let arrayList = new ArrayList();
arrayList.add(2);
arrayList.add(4);
arrayList.add(5);
arrayList.add(4);
// 使用方法一: ```
for (let item of arrayList) { let arrayList = new ArrayList();
arrayList.add(2);
arrayList.add(4);
arrayList.add(5);
arrayList.add(4);
// 使用方法一:
for (let item of arrayList) {
console.log(item); console.log(item);
} }
// 使用方法二: // 使用方法二:
let iter = arrayList[Symbol.iterator](); let iter = arrayList[Symbol.iterator]();
let temp = iter.next().value; let temp = iter.next().value;
while(temp != undefined) { while(temp != undefined) {
console.log(temp); console.log(temp);
temp = iter.next().value; temp = iter.next().value;
} }
``` ```
\ No newline at end of file \ No newline at end of file
...@@ -23,22 +23,23 @@ startTrace(name: string, taskId: number, expectedTime?: number): void ...@@ -23,22 +23,23 @@ startTrace(name: string, taskId: number, expectedTime?: number): void
标记一个预追踪耗时任务的开始,expectedTime是可选参数,标识该任务的期望耗时。 标记一个预追踪耗时任务的开始,expectedTime是可选参数,标识该任务的期望耗时。
**参数:**
- 参数: | 参数名 | 类型 | 必填 | 说明 |
| 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- |
| -------- | -------- | -------- | -------- | | name | string | 是 | 要追踪的任务名称 |
| name | string | 是 | 要追踪的任务名称 | | taskId | number | 是 | 任务id |
| taskId | number | 是 | 任务id | | expectedTime | number | 否 | 期望的耗时时间,单位:ms |
| expectedTime | number | 否 | 期望的耗时时间,单位:ms |
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:** > ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 如果有多个相同name的任务需要追踪或者对同一个任务要追踪多次,并且这些会同时被执行,则每次调用startTrace的taskId必须不一致。如果具有相同name的任务是串行执行的,则taskId可以相同。在下面bytrace.finishTrace的示例中会举例说明。 > 如果有多个相同name的任务需要追踪或者对同一个任务要追踪多次,并且这些会同时被执行,则每次调用startTrace的taskId必须不一致。如果具有相同name的任务是串行执行的,则taskId可以相同。在下面bytrace.finishTrace的示例中会举例说明。
- 示例: **示例:**
```
bytrace.startTrace("myTestFunc", 1); ```
bytrace.startTrace("myTestFunc", 1, 5); //从startTrace到finishTrace流程的耗时期望为5ms bytrace.startTrace("myTestFunc", 1);
``` bytrace.startTrace("myTestFunc", 1, 5); //从startTrace到finishTrace流程的耗时期望为5ms
```
## bytrace.finishTrace ## bytrace.finishTrace
...@@ -47,42 +48,43 @@ finishTrace(name: string, taskId: number): void ...@@ -47,42 +48,43 @@ finishTrace(name: string, taskId: number): void
标记一个预追踪耗时任务的结束。 标记一个预追踪耗时任务的结束。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| name | string | 是 | 要追踪的任务名称 |
| taskId | number | 是 | 任务id |
- 参数: > ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
| 参数名 | 类型 | 必填 | 说明 | > finishTrace的name和taskId必须与流程开始的startTrace对应参数值一致。
| -------- | -------- | -------- | -------- |
| name | string | 是 | 要追踪的任务名称 | **示例:**
| taskId | number | 是 | 任务id |
```
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:** bytrace.finishTrace("myTestFunc", 1);
> finishTrace的name和taskId必须与流程开始的startTrace对应参数值一致。 ```
- 示例: ```
``` //追踪并行执行的同名任务
bytrace.finishTrace("myTestFunc", 1); bytrace.startTrace("myTestFunc", 1);
``` //业务流程......
bytrace.startTrace("myTestFunc", 2); //第二个追踪的任务开始,同时第一个追踪的同名任务还没结束,出现了并行执行,对应接口的taskId需要不同。
``` //业务流程......
//追踪并行执行的同名任务 bytrace.finishTrace("myTestFunc", 1);
bytrace.startTrace("myTestFunc", 1); //业务流程......
//业务流程...... bytrace.finishTrace("myTestFunc", 2);
bytrace.startTrace("myTestFunc", 2); //第二个追踪的任务开始,同时第一个追踪的同名任务还没结束,出现了并行执行,对应接口的taskId需要不同。 ```
//业务流程......
bytrace.finishTrace("myTestFunc", 1); ```
//业务流程...... //追踪串行执行的同名任务
bytrace.finishTrace("myTestFunc", 2); bytrace.startTrace("myTestFunc", 1);
``` //业务流程......
bytrace.finishTrace("myTestFunc", 1); //第一个追踪的任务结束
``` //业务流程......
//追踪串行执行的同名任务 bytrace.startTrace("myTestFunc", 1); //第二个追踪的同名任务开始,同名的待追踪任务串行执行。
bytrace.startTrace("myTestFunc", 1); //业务流程......
//业务流程...... bytrace.finishTrace("myTestFunc", 1);
bytrace.finishTrace("myTestFunc", 1); //第一个追踪的任务结束 ```
//业务流程......
bytrace.startTrace("myTestFunc", 1); //第二个追踪的同名任务开始,同名的待追踪任务串行执行。
//业务流程......
bytrace.finishTrace("myTestFunc", 1);
```
## bytrace.traceByValue ## bytrace.traceByValue
...@@ -91,18 +93,18 @@ traceByValue(name: string, value: number): void ...@@ -91,18 +93,18 @@ traceByValue(name: string, value: number): void
用来标记一个预追踪的数值变量,该变量的数值会不断变化。 用来标记一个预追踪的数值变量,该变量的数值会不断变化。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| name | string | 是 | 要追踪的数值变量名称 |
| value | number | 是 | 变量的值 |
**示例:**
- 参数: ```
| 参数名 | 类型 | 必填 | 说明 | let traceCount = 3;
| -------- | -------- | -------- | -------- | bytrace.traceByValue("myTestCount", traceCount);
| name | string | 是 | 要追踪的数值变量名称 | traceCount = 4;
| value | number | 是 | 变量的值 | bytrace.traceByValue("myTestCount", traceCount);
//业务流程......
- 示例: ```
```
let traceCount = 3;
bytrace.traceByValue("myTestCount", traceCount);
traceCount = 4;
bytrace.traceByValue("myTestCount", traceCount);
//业务流程......
```
...@@ -19,20 +19,20 @@ dial\(phoneNumber: string, callback: AsyncCallback<boolean\>\): void ...@@ -19,20 +19,20 @@ dial\(phoneNumber: string, callback: AsyncCallback<boolean\>\): void
需要权限:ohos.permission.PLACE\_CALL权限,该权限为系统权限。 需要权限:ohos.permission.PLACE\_CALL权限,该权限为系统权限。
- 参数 **参数:**
| 参数 | 类型 | 必填 | 说明 | | 参数 | 类型 | 必填 | 说明 |
| ----------- | ---------------------------- | ---- | ------------------------------------------------- | | ----------- | ---------------------------- | ---- | ------------------------------------------------- |
| phoneNumber | string | 是 | 电话号码。 | | phoneNumber | string | 是 | 电话号码。 |
| callback | AsyncCallback&lt;boolean&gt; | 是 | 回调函数:<br/>- true:成功。<br/>- false:失败。 | | callback | AsyncCallback&lt;boolean&gt; | 是 | 回调函数:<br/>- true:成功。<br/>- false:失败。 |
- 示例 **示例:**
``` ```
call.dial("138xxxxxxxx", (err, data) => { call.dial("138xxxxxxxx", (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
}); });
``` ```
## call.dial<a name=call.dial-callback2></a> ## call.dial<a name=call.dial-callback2></a>
...@@ -43,24 +43,23 @@ dial\(phoneNumber: string, options: DialOptions, callback: AsyncCallback<boolean ...@@ -43,24 +43,23 @@ dial\(phoneNumber: string, options: DialOptions, callback: AsyncCallback<boolean
需要权限:ohos.permission.PLACE\_CALL权限,该权限为系统权限。 需要权限:ohos.permission.PLACE\_CALL权限,该权限为系统权限。
- 参数 **参数:**
| 参数 | 类型 | 必填 | 说明 |
| ----------- | ---------------------------- | ---- | ------------------------------------------------- |
| phoneNumber | string | 是 | 电话号码。 |
| options | DialOptions | 是 | 通话参数,参考[DialOptions](#DialOptions)。 |
| callback | AsyncCallback&lt;boolean&gt; | 是 | 回调函数:<br/>- true:成功。<br/>- false:失败。 |
| 参数 | 类型 | 必填 | 说明 |
| ----------- | ---------------------------- | ---- | ------------------------------------------------- |
| phoneNumber | string | 是 | 电话号码。 |
| options | DialOptions | 是 | 通话参数,参考[DialOptions](#DialOptions)。 |
| callback | AsyncCallback&lt;boolean&gt; | 是 | 回调函数:<br/>- true:成功。<br/>- false:失败。 |
- 示例 **示例:**
``` ```
call.dial("138xxxxxxxx", { call.dial("138xxxxxxxx", {
extras: false extras: false
}, (err, data) => { }, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
}); });
``` ```
## call.dial<a name=call.dial-promise></a> ## call.dial<a name=call.dial-promise></a>
...@@ -71,31 +70,31 @@ dial\(phoneNumber: string, options?: DialOptions\): Promise<boolean\> ...@@ -71,31 +70,31 @@ dial\(phoneNumber: string, options?: DialOptions\): Promise<boolean\>
需要权限:ohos.permission.PLACE\_CALL权限,该权限为系统权限。 需要权限:ohos.permission.PLACE\_CALL权限,该权限为系统权限。
- 参数 **参数:**
| 参数 | 类型 | 必填 | 说明 | | 参数 | 类型 | 必填 | 说明 |
| ----------- | ----------- | ---- | ------------------------------------------- | | ----------- | ----------- | ---- | ------------------------------------------- |
| phoneNumber | string | 是 | 电话号码。 | | phoneNumber | string | 是 | 电话号码。 |
| options | DialOptions | 是 | 通话参数,参考[DialOptions](#DialOptions)。 | | options | DialOptions | 是 | 通话参数,参考[DialOptions](#DialOptions)。 |
- 返回值 **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| ---------------------- | --------------------------------- | | ---------------------- | --------------------------------- |
| Promise&lt;boolean&gt; | 以Promise形式返回拨打电话的结果。 | | Promise&lt;boolean&gt; | 以Promise形式返回拨打电话的结果。 |
- 示例 **示例:**
``` ```
let promise = call.dial("138xxxxxxxx", { let promise = call.dial("138xxxxxxxx", {
extras: false extras: false
}); });
promise.then(data => { promise.then(data => {
console.log(`dial success, promise: data->${JSON.stringify(data)}`); console.log(`dial success, promise: data->${JSON.stringify(data)}`);
}).catch(err => { }).catch(err => {
console.error(`dial fail, promise: err->${JSON.stringify(err)}`); console.error(`dial fail, promise: err->${JSON.stringify(err)}`);
}); });
``` ```
## call.hasCall<a name=call.hasCall-callback></a> ## call.hasCall<a name=call.hasCall-callback></a>
...@@ -103,19 +102,19 @@ hasCall\(callback: AsyncCallback<boolean\>\): void ...@@ -103,19 +102,19 @@ hasCall\(callback: AsyncCallback<boolean\>\): void
判断是否存在通话,使用callback方式作为异步方法。 判断是否存在通话,使用callback方式作为异步方法。
- 参数 **参数:**
| 参数 | 类型 | 必填 | 说明 | | 参数 | 类型 | 必填 | 说明 |
| -------- | ---------------------------- | ---- | ------------------------------------------------------------ | | -------- | ---------------------------- | ---- | ------------------------------------------------------------ |
| callback | AsyncCallback&lt;boolean&gt; | 是 | 回调函数:<br/>- true:当前存在通话。<br/>- false:当前不存在通话。 | | callback | AsyncCallback&lt;boolean&gt; | 是 | 回调函数:<br/>- true:当前存在通话。<br/>- false:当前不存在通话。 |
- 示例 **示例:**
``` ```
call.hasCall((err, data) => { call.hasCall((err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
}); });
``` ```
## call.hasCall<a name=call.hasCall-promise></a> ## call.hasCall<a name=call.hasCall-promise></a>
...@@ -124,22 +123,22 @@ hasCall\(\): Promise<boolean\> ...@@ -124,22 +123,22 @@ hasCall\(\): Promise<boolean\>
判断是否存在通话,使用Promise方式作为异步方法。 判断是否存在通话,使用Promise方式作为异步方法。
- 返回值 **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| ---------------------- | --------------------------------------- | | ---------------------- | --------------------------------------- |
| Promise&lt;boolean&gt; | 以Promise形式异步返回判断是否存在通话。 | | Promise&lt;boolean&gt; | 以Promise形式异步返回判断是否存在通话。 |
- 示例 **示例:**
``` ```
let promise = call.hasCall(); let promise = call.hasCall();
promise.then(data => { promise.then(data => {
console.log(`hasCall success, promise: data->${JSON.stringify(data)}`); console.log(`hasCall success, promise: data->${JSON.stringify(data)}`);
}).catch(err => { }).catch(err => {
console.error(`hasCall fail, promise: err->${JSON.stringify(err)}`); console.error(`hasCall fail, promise: err->${JSON.stringify(err)}`);
}); });
``` ```
## call.getCallState<a name=call.getCallState-callback></a> ## call.getCallState<a name=call.getCallState-callback></a>
...@@ -148,19 +147,19 @@ getCallState\(callback: AsyncCallback<CallState\>\): void ...@@ -148,19 +147,19 @@ getCallState\(callback: AsyncCallback<CallState\>\): void
获取通话状态,使用callback方式作为异步方法。 获取通话状态,使用callback方式作为异步方法。
- 参数 **参数:**
| 参数 | 类型 | 必填 | 说明 | | 参数 | 类型 | 必填 | 说明 |
| -------- | -------------------------------------------- | ---- | ------------------------------------ | | -------- | -------------------------------------------- | ---- | ------------------------------------ |
| callback | AsyncCallback&lt;[CallState](#CallState)&gt; | 是 | 回调函数:异步返回获取到的通话状态。 | | callback | AsyncCallback&lt;[CallState](#CallState)&gt; | 是 | 回调函数:异步返回获取到的通话状态。 |
- 示例 **示例:**
``` ```
call.getCallState((err, data) => { call.getCallState((err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
}); });
``` ```
## call.getCallState<a name="call.getCallState-promise"></a> ## call.getCallState<a name="call.getCallState-promise"></a>
...@@ -169,22 +168,22 @@ getCallState\(\): Promise<CallState\> ...@@ -169,22 +168,22 @@ getCallState\(\): Promise<CallState\>
获取通话状态,使用Promise方式作为异步方法。 获取通话状态,使用Promise方式作为异步方法。
- 返回值 **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| -------------------------------------- | ----------------------------------------- | | -------------------------------------- | ----------------------------------------- |
| Promise&lt;[CallState](#CallState)&gt; | 以Promise形式异步返回获取通话状态的结果。 | | Promise&lt;[CallState](#CallState)&gt; | 以Promise形式异步返回获取通话状态的结果。 |
- 示例 **示例:**
``` ```
let promise = call.getCallState(); let promise = call.getCallState();
promise.then(data => { promise.then(data => {
console.log(`getCallState success, promise: data->${JSON.stringify(data)}`); console.log(`getCallState success, promise: data->${JSON.stringify(data)}`);
}).catch(err => { }).catch(err => {
console.error(`getCallState fail, promise: err->${JSON.stringify(err)}`); console.error(`getCallState fail, promise: err->${JSON.stringify(err)}`);
}); });
``` ```
## call.isEmergencyPhoneNumber<sup>7+</sup><a name=call.isEmergencyPhoneNumber-callback1></a> ## call.isEmergencyPhoneNumber<sup>7+</sup><a name=call.isEmergencyPhoneNumber-callback1></a>
...@@ -192,20 +191,20 @@ isEmergencyPhoneNumber\(phoneNumber: string, callback: AsyncCallback<boolean\>\) ...@@ -192,20 +191,20 @@ isEmergencyPhoneNumber\(phoneNumber: string, callback: AsyncCallback<boolean\>\)
判断是否是紧急电话号码,使用callback方式作为异步方法。 判断是否是紧急电话号码,使用callback方式作为异步方法。
- 参数 **参数:**
| 参数 | 类型 | 必填 | 说明 | | 参数 | 类型 | 必填 | 说明 |
| ----------- | ---------------------------- | ---- | ------------------------------------------------------------ | | ----------- | ---------------------------- | ---- | ------------------------------------------------------------ |
| phoneNumber | string | 是 | 电话号码。 | | phoneNumber | string | 是 | 电话号码。 |
| callback | AsyncCallback&lt;boolean&gt; | 是 | 回调函数,返回判断是否是紧急电话号码的结果:<br/>- true:是紧急电话号码。<br/>- false:不是紧急电话号码。 | | callback | AsyncCallback&lt;boolean&gt; | 是 | 回调函数,返回判断是否是紧急电话号码的结果:<br/>- true:是紧急电话号码。<br/>- false:不是紧急电话号码。 |
- 示例 **示例:**
``` ```
call.isEmergencyPhoneNumber("138xxxxxxxx", (err, data) => { call.isEmergencyPhoneNumber("138xxxxxxxx", (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
}); });
``` ```
## call.isEmergencyPhoneNumber<sup>7+</sup><a name=call.isEmergencyPhoneNumber-callback2></a> ## call.isEmergencyPhoneNumber<sup>7+</sup><a name=call.isEmergencyPhoneNumber-callback2></a>
...@@ -214,21 +213,21 @@ isEmergencyPhoneNumber\(phoneNumber: string, options: EmergencyNumberOptions, ca ...@@ -214,21 +213,21 @@ isEmergencyPhoneNumber\(phoneNumber: string, options: EmergencyNumberOptions, ca
判断是否是紧急电话号码,使用callback方式作为异步方法。 判断是否是紧急电话号码,使用callback方式作为异步方法。
- 参数 **参数:**
| 参数 | 类型 | 必填 | 说明 | | 参数 | 类型 | 必填 | 说明 |
| ----------- | ---------------------------- | ---- | ------------------------------------------------------------ | | ----------- | ---------------------------- | ---- | ------------------------------------------------------------ |
| phoneNumber | string | 是 | 电话号码。 | | phoneNumber | string | 是 | 电话号码。 |
| options | EmergencyNumberOptions | 是 | 手机参数,参考[EmergencyNumberOptions](#EmergencyNumberOptions)。 | | options | EmergencyNumberOptions | 是 | 手机参数,参考[EmergencyNumberOptions](#EmergencyNumberOptions)。 |
| callback | AsyncCallback&lt;boolean&gt; | 是 | 回调函数,返回判断是否是紧急电话号码的结果:<br/>- true:是紧急电话号码。<br/>- false:不是紧急电话号码。 | | callback | AsyncCallback&lt;boolean&gt; | 是 | 回调函数,返回判断是否是紧急电话号码的结果:<br/>- true:是紧急电话号码。<br/>- false:不是紧急电话号码。 |
- 示例 **示例:**
``` ```
call.isEmergencyPhoneNumber("112", {slotId: 1}, (err, value) => { call.isEmergencyPhoneNumber("112", {slotId: 1}, (err, value) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
}); });
``` ```
## call.isEmergencyPhoneNumber<sup>7+</sup><a name=call.isEmergencyPhoneNumber-promise></a> ## call.isEmergencyPhoneNumber<sup>7+</sup><a name=call.isEmergencyPhoneNumber-promise></a>
...@@ -237,29 +236,29 @@ isEmergencyPhoneNumber\(phoneNumber: string, options?: EmergencyNumberOptions\): ...@@ -237,29 +236,29 @@ isEmergencyPhoneNumber\(phoneNumber: string, options?: EmergencyNumberOptions\):
判断是否是紧急电话号码,使用promise方式作为异步方法。 判断是否是紧急电话号码,使用promise方式作为异步方法。
- 参数 **参数:**
| 参数 | 类型 | 必填 | 说明 | | 参数 | 类型 | 必填 | 说明 |
| ----------- | ---------------------- | ---- | ------------------------------------------------------------ | | ----------- | ---------------------- | ---- | ------------------------------------------------------------ |
| phoneNumber | string | 是 | 电话号码。 | | phoneNumber | string | 是 | 电话号码。 |
| options | EmergencyNumberOptions | 是 | 手机参数,参考[EmergencyNumberOptions](#EmergencyNumberOptions)。 | | options | EmergencyNumberOptions | 是 | 手机参数,参考[EmergencyNumberOptions](#EmergencyNumberOptions)。 |
- 返回值 **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| ---------------------- | --------------------------------------------------- | | ---------------------- | --------------------------------------------------- |
| Promise&lt;boolean&gt; | 以Promise形式异步返回判断是否是紧急电话号码的结果。 | | Promise&lt;boolean&gt; | 以Promise形式异步返回判断是否是紧急电话号码的结果。 |
- 示例 **示例:**
``` ```
let promise = call.isEmergencyPhoneNumber("138xxxxxxxx", {slotId: 1}); let promise = call.isEmergencyPhoneNumber("138xxxxxxxx", {slotId: 1});
promise.then(data => { promise.then(data => {
console.log(`isEmergencyPhoneNumber success, promise: data->${JSON.stringify(data)}`); console.log(`isEmergencyPhoneNumber success, promise: data->${JSON.stringify(data)}`);
}).catch(err => { }).catch(err => {
console.error(`isEmergencyPhoneNumber fail, promise: err->${JSON.stringify(err)}`); console.error(`isEmergencyPhoneNumber fail, promise: err->${JSON.stringify(err)}`);
}); });
``` ```
## call.formatPhoneNumber<sup>7+</sup><a name=call.formatPhoneNumber-callback1></a> ## call.formatPhoneNumber<sup>7+</sup><a name=call.formatPhoneNumber-callback1></a>
...@@ -267,20 +266,20 @@ formatPhoneNumber\(phoneNumber: string, callback: AsyncCallback<string\>\): void ...@@ -267,20 +266,20 @@ formatPhoneNumber\(phoneNumber: string, callback: AsyncCallback<string\>\): void
格式化电话号码,使用callback方式作为异步方法。 格式化电话号码,使用callback方式作为异步方法。
- 参数 **参数:**
| 参数 | 类型 | 必填 | 说明 | | 参数 | 类型 | 必填 | 说明 |
| ----------- | --------------------------- | ---- | ------------------------------------ | | ----------- | --------------------------- | ---- | ------------------------------------ |
| phoneNumber | string | 是 | 电话号码。 | | phoneNumber | string | 是 | 电话号码。 |
| callback | AsyncCallback&lt;string&gt; | 是 | 回调函数,返回格式化电话号码的结果。 | | callback | AsyncCallback&lt;string&gt; | 是 | 回调函数,返回格式化电话号码的结果。 |
- 示例 **示例:**
``` ```
call.formatPhoneNumber("138xxxxxxxx", (err, data) => { call.formatPhoneNumber("138xxxxxxxx", (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
}); });
``` ```
## call.formatPhoneNumber<sup>7+</sup><a name=call.formatPhoneNumber-callback2></a> ## call.formatPhoneNumber<sup>7+</sup><a name=call.formatPhoneNumber-callback2></a>
...@@ -289,23 +288,23 @@ formatPhoneNumber\(phoneNumber: string, options: NumberFormatOptions, callback: ...@@ -289,23 +288,23 @@ formatPhoneNumber\(phoneNumber: string, options: NumberFormatOptions, callback:
格式化电话号码,可设置格式化参数,使用callback方式作为异步方法。 格式化电话号码,可设置格式化参数,使用callback方式作为异步方法。
- 参数 **参数:**
| 参数 | 类型 | 必填 | 说明 | | 参数 | 类型 | 必填 | 说明 |
| ----------- | --------------------------- | ---- | ------------------------------------------------------------ | | ----------- | --------------------------- | ---- | ------------------------------------------------------------ |
| phoneNumber | string | 是 | 电话号码。 | | phoneNumber | string | 是 | 电话号码。 |
| options | NumberFormatOptions | 是 | 格式化参数,参考[NumberFormatOptions](#NumberFormatOptions)。 | | options | NumberFormatOptions | 是 | 格式化参数,参考[NumberFormatOptions](#NumberFormatOptions)。 |
| callback | AsyncCallback&lt;string&gt; | 是 | 回调函数,返回格式化电话号码的结果。 | | callback | AsyncCallback&lt;string&gt; | 是 | 回调函数,返回格式化电话号码的结果。 |
- 示例 **示例:**
``` ```
call.formatPhoneNumber("138xxxxxxxx",{ call.formatPhoneNumber("138xxxxxxxx",{
countryCode: "CN" countryCode: "CN"
}, (err, data) => { }, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
}); });
``` ```
## call.formatPhoneNumber<sup>7+</sup><a name=call.formatPhoneNumber-promise></a> ## call.formatPhoneNumber<sup>7+</sup><a name=call.formatPhoneNumber-promise></a>
...@@ -314,31 +313,31 @@ formatPhoneNumber\(phoneNumber: string, options?: NumberFormatOptions\): Promise ...@@ -314,31 +313,31 @@ formatPhoneNumber\(phoneNumber: string, options?: NumberFormatOptions\): Promise
格式化电话号码,可设置格式化参数,使用promise方式作为异步方法。 格式化电话号码,可设置格式化参数,使用promise方式作为异步方法。
- 参数 **参数:**
| 参数 | 类型 | 必填 | 说明 | | 参数 | 类型 | 必填 | 说明 |
| ----------- | ------------------- | ---- | ------------------------------------------------------------ | | ----------- | ------------------- | ---- | ------------------------------------------------------------ |
| phoneNumber | string | 是 | 电话号码。 | | phoneNumber | string | 是 | 电话号码。 |
| options | NumberFormatOptions | 是 | 格式化参数,参考[NumberFormatOptions](#NumberFormatOptions)。 | | options | NumberFormatOptions | 是 | 格式化参数,参考[NumberFormatOptions](#NumberFormatOptions)。 |
- 返回值 **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| --------------------- | ------------------------------------------- | | --------------------- | ------------------------------------------- |
| Promise&lt;string&gt; | 以Promise形式异步返回格式化电话号码的结果。 | | Promise&lt;string&gt; | 以Promise形式异步返回格式化电话号码的结果。 |
- 示例 **示例:**
``` ```
let promise = call.formatPhoneNumber("138xxxxxxxx", { let promise = call.formatPhoneNumber("138xxxxxxxx", {
countryCode: "CN" countryCode: "CN"
}); });
promise.then(data => { promise.then(data => {
console.log(`formatPhoneNumber success, promise: data->${JSON.stringify(data)}`); console.log(`formatPhoneNumber success, promise: data->${JSON.stringify(data)}`);
}).catch(err => { }).catch(err => {
console.error(`formatPhoneNumber fail, promise: err->${JSON.stringify(err)}`); console.error(`formatPhoneNumber fail, promise: err->${JSON.stringify(err)}`);
}); });
``` ```
## call.formatPhoneNumberToE164<sup>7+</sup><a name=call.formatPhoneNumberToE164-callback></a> ## call.formatPhoneNumberToE164<sup>7+</sup><a name=call.formatPhoneNumberToE164-callback></a>
...@@ -350,23 +349,23 @@ formatPhoneNumberToE164\(phoneNumber: string, countryCode: string, callback: Asy ...@@ -350,23 +349,23 @@ formatPhoneNumberToE164\(phoneNumber: string, countryCode: string, callback: Asy
支持所有国家码。 支持所有国家码。
- 参数 **参数:**
| 参数 | 类型 | 必填 | 说明 | | 参数 | 类型 | 必填 | 说明 |
| ----------- | --------------------------- | ---- | ----------------------------------------------------- | | ----------- | --------------------------- | ---- | ----------------------------------------------------- |
| phoneNumber | string | 是 | 电话号码。 | | phoneNumber | string | 是 | 电话号码。 |
| countryCode | string | 是 | 国家码,支持所有国家码,如:中国(CN)。 | | countryCode | string | 是 | 国家码,支持所有国家码,如:中国(CN)。 |
| callback | AsyncCallback&lt;string&gt; | 是 | 回调函数,返回将电话号码格式化为E.164表示形式的结果。 | | callback | AsyncCallback&lt;string&gt; | 是 | 回调函数,返回将电话号码格式化为E.164表示形式的结果。 |
- 示例 **示例:**
``` ```
call.formatPhoneNumberToE164("138xxxxxxxx",{ call.formatPhoneNumberToE164("138xxxxxxxx",{
countryCode: "CN" countryCode: "CN"
}, (err, data) => { }, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
}); });
``` ```
## call.formatPhoneNumberToE164<sup>7+</sup><a name=call.formatPhoneNumberToE164-promise></a> ## call.formatPhoneNumberToE164<sup>7+</sup><a name=call.formatPhoneNumberToE164-promise></a>
...@@ -379,31 +378,31 @@ formatPhoneNumberToE164\(phoneNumber: string, countryCode: string\): Promise<str ...@@ -379,31 +378,31 @@ formatPhoneNumberToE164\(phoneNumber: string, countryCode: string\): Promise<str
支持所有国家码。 支持所有国家码。
- 参数 **参数:**
| 参数 | 类型 | 必填 | 说明 | | 参数 | 类型 | 必填 | 说明 |
| ----------- | ------ | ---- | ---------------------------------------- | | ----------- | ------ | ---- | ---------------------------------------- |
| phoneNumber | string | 是 | 电话号码。 | | phoneNumber | string | 是 | 电话号码。 |
| countryCode | string | 是 | 国家码,支持所有国家码,如:中国(CN)。 | | countryCode | string | 是 | 国家码,支持所有国家码,如:中国(CN)。 |
- 返回值 **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| --------------------- | ------------------------------------------------------------ | | --------------------- | ------------------------------------------------------------ |
| Promise&lt;string&gt; | 以Promise形式异步返回将电话号码格式化为E.164表示形式的结果。 | | Promise&lt;string&gt; | 以Promise形式异步返回将电话号码格式化为E.164表示形式的结果。 |
- 示例 **示例:**
``` ```
let promise = call.formatPhoneNumberToE164("138xxxxxxxx", { let promise = call.formatPhoneNumberToE164("138xxxxxxxx", {
countryCode: "CN" countryCode: "CN"
}); });
promise.then(data => { promise.then(data => {
console.log(`formatPhoneNumberToE164 success, promise: data->${JSON.stringify(data)}`); console.log(`formatPhoneNumberToE164 success, promise: data->${JSON.stringify(data)}`);
}).catch(err => { }).catch(err => {
console.error(`formatPhoneNumberToE164 fail, promise: err->${JSON.stringify(err)}`); console.error(`formatPhoneNumberToE164 fail, promise: err->${JSON.stringify(err)}`);
}); });
``` ```
## DialOptions<a name=DialOptions></a> ## DialOptions<a name=DialOptions></a>
......
...@@ -10,6 +10,10 @@ ...@@ -10,6 +10,10 @@
import convertxml from '@ohos.convertxml'; import convertxml from '@ohos.convertxml';
``` ```
## 系统能力
SystemCapability.Utils.Lang
## ConvertXML ## ConvertXML
......
...@@ -10,9 +10,9 @@ ...@@ -10,9 +10,9 @@
import Deque from '@ohos.util.Deque' import Deque from '@ohos.util.Deque'
``` ```
## 权限 ## 系统能力
SystemCapability.Utils.Lang
## Deque ## Deque
...@@ -20,232 +20,252 @@ import Deque from '@ohos.util.Deque' ...@@ -20,232 +20,252 @@ import Deque from '@ohos.util.Deque'
| 名称 | 参数类型 | 可读 | 可写 | 说明 | | 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- | -------- |
| length | number | 是 | 否 | Deque的元素个数 | | length | number | 是 | 否 | Deque的元素个数 |
### constructor ### constructor
constructor(); constructor()
Deque的构造函数。 Deque的构造函数。
- 示例: **示例:**
```
let deque = new Deque(); ```
``` let deque = new Deque();
```
### insertFront ### insertFront
insertFront(element: T): void; insertFront(element: T): void
在deque头部插入元素。 在deque头部插入元素。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| element | T | 是 | 添加进去的元素 | | -------- | -------- | -------- | -------- |
| element | T | 是 | 插入的元素。 |
- 示例:
``` **示例:**
let deque = new Deque;
deque.insertFront("a"); ```
deque.insertFront(1); let deque = new Deque;
let b = [1, 2, 3]; deque.insertFront("a");
deque.insertFront(b); deque.insertFront(1);
let c = {name : "lala", age : "13"}; let b = [1, 2, 3];
deque.insertFront(false); deque.insertFront(b);
``` let c = {name : "lala", age : "13"};
deque.insertFront(false);
```
### insertEnd ### insertEnd
insertEnd(element: T): void; insertEnd(element: T): void
在deque尾部插入元素。 在deque尾部插入元素。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| element | T | 是 | 添加进去的元素 | | -------- | -------- | -------- | -------- |
| element | T | 是 | 插入的元素。 |
- 示例:
``` **示例:**
let deque = new Deque;
deque.insertEnd("a"); ```
deque.insertEnd(1); let deque = new Deque;
let b = [1, 2, 3]; deque.insertEnd("a");
deque.insertEnd(b); deque.insertEnd(1);
let c = {name : "lala", age : "13"}; let b = [1, 2, 3];
deque.insertEnd(false); deque.insertEnd(b);
``` let c = {name : "lala", age : "13"};
deque.insertEnd(false);
```
### has ### has
has(element: T): boolean; has(element: T): boolean
判断此Deque中是否含有该指定元素。 判断此Deque中是否含有该指定元素。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| element | T | 是 | 指定的元素 | | -------- | -------- | -------- | -------- |
| element | T | 是 | 指定的元素。 |
- 返回值:
| 类型 | 说明 | **返回值:**
| -------- | -------- |
| boolean | 是否包含指定元素 | | 类型 | 说明 |
| -------- | -------- |
- 示例: | boolean | 如果包含指定元素返回true,否则返回false。 |
```
let deque = new Deque(); **示例:**
deque.has("Ahfbrgrbgnutfodgorrogorg");
deque.insertFront("Ahfbrgrbgnutfodgorrogorg"); ```
deque.has("Ahfbrgrbgnutfodgorrogorg"); let deque = new Deque();
``` deque.has("Ahfbrgrbgnutfodgorrogorg");
deque.insertFront("Ahfbrgrbgnutfodgorrogorg");
deque.has("Ahfbrgrbgnutfodgorrogorg");
```
### popFirst ### popFirst
popFirst(): T; popFirst(): T
删除并返回双端队列的首元素。 删除并返回双端队列的首元素。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| T | 返回删除的元素 | | -------- | -------- |
| T | 返回被删除的元素。 |
- 示例:
``` **示例:**
let deque = new Deque();
deque.insertFront(2); ```
deque.insertFront(4); let deque = new Deque();
deque.insertEnd(5); deque.insertFront(2);
deque.insertFront(2); deque.insertFront(4);
deque.insertFront(4); deque.insertEnd(5);
deque.popFirst(); deque.insertFront(2);
``` deque.insertFront(4);
deque.popFirst();
```
### popLast ### popLast
popLast(): T; popLast(): T
删除并返回双端队列的尾元素。 删除并返回双端队列的尾元素。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| T | 返回删除的元素 | | -------- | -------- |
| T | 返回被删除的元素。 |
- 示例:
``` **示例:**
let deque = new Deque();
deque.insertFront(2); ```
deque.insertEnd(4); let deque = new Deque();
deque.insertFront(5); deque.insertFront(2);
deque.insertFront(2); deque.insertEnd(4);
deque.insertFront(4); deque.insertFront(5);
deque.popLast(); deque.insertFront(2);
``` deque.insertFront(4);
deque.popLast();
```
### forEach ### forEach
forEach(callbackfn: (value: T, index?: number, deque?: Deque&lt;T&gt;) => void, forEach(callbackfn: (value: T, index?: number, deque?: Deque&lt;T&gt;) => void,
thisArg?: Object): void; thisArg?: Object): void
通过回调函数来遍历Deque实例对象上的元素以及元素对应的下标。 通过回调函数来遍历Deque实例对象上的元素以及元素对应的下标。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| callbackfn | function | 是 | 回调函数 | | -------- | -------- | -------- | -------- |
| thisArg | Object | 否 | callbackfn被调用时用作this值 | | callbackfn | function | 是 | 回调函数。 |
| thisArg | Object | 否 | callbackfn被调用时用作this值。 |
- callbackfn的参数说明
callbackfn的参数说明:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| value | T | 是 | 当前遍历到的元素 | | -------- | -------- | -------- | -------- |
| index | number | 否 | 当前遍历到的下标值 | | value | T | 是 | 当前遍历到的元素。 |
| deque | Deque&lt;T&gt; | 否 | 当前调用forEach方法的实例对象 | | index | number | 否 | 当前遍历到的下标值。 |
| deque | Deque&lt;T&gt; | 否 | 当前调用forEach方法的实例对象。 |
- 示例:
``` **示例:**
let deque = new Deque();
deque.insertFront(2); ```
deque.insertEnd(4); let deque = new Deque();
deque.insertFront(5); deque.insertFront(2);
deque.insertEnd(4); deque.insertEnd(4);
deque.forEach((value, index) => { deque.insertFront(5);
deque.insertEnd(4);
deque.forEach((value, index) => {
console.log(value, index); console.log(value, index);
}); });
``` ```
### getFirst ### getFirst
getFirst(): T; getFirst(): T;
获取Deque实例中的头元素。 获取Deque实例中的头元素。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| T | 返回T型 | | -------- | -------- |
| T | 返回T型 |
- 示例: **示例:**
```
let deque = new Deque(); ```
deque.insertEnd(2); let deque = new Deque();
deque.insertEnd(4); deque.insertEnd(2);
deque.insertFront(5); deque.insertEnd(4);
deque.insertFront(4); deque.insertFront(5);
deque.getFirst(); deque.insertFront(4);
``` deque.getFirst();
```
### getLast ### getLast
getLast(): T; getLast(): T
获取Deque实例中的尾元素。 获取Deque实例中的尾元素。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- |
| T | 返回T型 |
| 类型 | 说明 |
| -------- | -------- |
| T | 返回T型 |
- 示例: **示例:**
```
let deque = new Deque(); ```
deque.insertFront(2); let deque = new Deque();
deque.insertFront(4); deque.insertFront(2);
deque.insertFront(5); deque.insertFront(4);
deque.insertFront(4); deque.insertFront(5);
deque.getLast(); deque.insertFront(4);
``` deque.getLast();
```
### [Symbol.iterator] ### [Symbol.iterator]
[Symbol.iterator]\(): IterableIterator&lt;T&gt;; [Symbol.iterator]\(): IterableIterator&lt;T&gt;
返回一个迭代器,迭代器的每一项都是一个 JavaScript 对象,并返回该对象。 返回一个迭代器,迭代器的每一项都是一个 JavaScript 对象,并返回该对象。
**返回值:**
- 返回值: | 类型 | 说明 |
| 类型 | 说明 | | -------- | -------- |
| -------- | -------- | | IterableIterator&lt;T&gt; | 返回一个迭代器。 |
| IterableIterator&lt;T&gt; | 返回一个迭代器。 |
- 示例: **示例:**
``` ```
let deque = new Deque(); let deque = new Deque();
deque.insertFront(2); deque.insertFront(2);
deque.insertFront(4); deque.insertFront(4);
deque.insertFront(5); deque.insertFront(5);
deque.insertFront(4); deque.insertFront(4);
// 使用方法一: // 使用方法一:
for (let item of deque) { for (let item of deque) {
console.log(item); console.log(item);
} }
// 使用方法二: // 使用方法二:
let iter = deque[Symbol.iterator](); let iter = deque[Symbol.iterator]();
let temp = iter.next().value; let temp = iter.next().value;
while(temp != undefined) { while(temp != undefined) {
console.log(temp); console.log(temp);
temp = iter.next().value; temp = iter.next().value;
} }
``` ```
\ No newline at end of file \ No newline at end of file
...@@ -7,9 +7,9 @@ import deviceInfo from '@ohos.deviceInfo' ...@@ -7,9 +7,9 @@ import deviceInfo from '@ohos.deviceInfo'
``` ```
## 权限列表 ## 系统能力
SystemCapability.Startup.SysInfo
## 属性 ## 属性
......
...@@ -14,7 +14,7 @@ SystemCapability.HiviewDFX.Hiview.FaultLogger ...@@ -14,7 +14,7 @@ SystemCapability.HiviewDFX.Hiview.FaultLogger
## FaultType ## FaultType
故障类型枚举 故障类型枚举
| 名称 | 默认值 | 说明 | | 名称 | 默认值 | 说明 |
| -------- | -------- | -------- | | -------- | -------- | -------- |
...@@ -25,7 +25,7 @@ SystemCapability.HiviewDFX.Hiview.FaultLogger ...@@ -25,7 +25,7 @@ SystemCapability.HiviewDFX.Hiview.FaultLogger
## FaultLogInfo ## FaultLogInfo
故障信息数据结构,获取到的故障信息的数据结构 故障信息数据结构,获取到的故障信息的数据结构
| 名称 | 参数类型 | 说明 | | 名称 | 参数类型 | 说明 |
| -------- | -------- | -------- | | -------- | -------- | -------- |
...@@ -44,13 +44,15 @@ querySelfFaultLog(faultType: FaultType, callback: AsyncCallback&lt;Array&lt;Faul ...@@ -44,13 +44,15 @@ querySelfFaultLog(faultType: FaultType, callback: AsyncCallback&lt;Array&lt;Faul
获取当前进程故障信息,该方法通过回调方式获取故障信息数组,故障信息数组内最多上报10份故障信息。 获取当前进程故障信息,该方法通过回调方式获取故障信息数组,故障信息数组内最多上报10份故障信息。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| faultType | [FaultType](#faulttype) | 是 | 输入要查询的故障类型。 | | -------- | -------- | -------- | -------- |
| callback | AsyncCallbackArray&lt;Array&lt;[FaultLogInfo](#faultloginfo)&gt;&gt; | 是 | 回调函数,在回调函数中获取故障信息数组。<br/>-&nbsp;value拿到故障信息数组;value为undefined表示获取过程中出现异常,error返回错误提示字符串 | faultType | [FaultType](#faulttype) | 是 | 输入要查询的故障类型。 |
| callback | AsyncCallbackArray&lt;Array&lt;[FaultLogInfo](#faultloginfo)&gt;&gt; | 是 | 回调函数,在回调函数中获取故障信息数组。<br/>-&nbsp;value拿到故障信息数组;value为undefined表示获取过程中出现异常,error返回错误提示字符串
**示例:**
- 示例:
``` ```
function queryFaultLogCallback(error, value) { function queryFaultLogCallback(error, value) {
if (error) { if (error) {
...@@ -80,17 +82,20 @@ querySelfFaultLog(faultType: FaultType) : Promise&lt;Array&lt;FaultLogInfo&gt;&g ...@@ -80,17 +82,20 @@ querySelfFaultLog(faultType: FaultType) : Promise&lt;Array&lt;FaultLogInfo&gt;&g
获取当前进程故障信息,该方法通过Promise方式返回故障信息数组,故障信息数组内最多上报10份故障信息。 获取当前进程故障信息,该方法通过Promise方式返回故障信息数组,故障信息数组内最多上报10份故障信息。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| faultType | [FaultType](#faulttype) | 是 | 输入要查询的故障类型。 | | -------- | -------- | -------- | -------- |
| faultType | [FaultType](#faulttype) | 是 | 输入要查询的故障类型。 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;Array&lt;[FaultLogInfo](#faultloginfo)&gt;&gt; | Promise实例,可以在其then()方法中获取故障信息实例,也可以使用await。 <br/>-&nbsp;value拿到故障信息数组;value为undefined表示获取过程中出现异常 |
- 返回值: **示例:**
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;Array&lt;[FaultLogInfo](#faultloginfo)&gt;&gt; | Promise实例,可以在其then()方法中获取故障信息实例,也可以使用await。 <br/>-&nbsp;value拿到故障信息数组;value为undefined表示获取过程中出现异常 |
- 示例:
``` ```
let value = await faultLogger.querySelfFaultLog(faultlogger.FaultType.JS_CRASH); let value = await faultLogger.querySelfFaultLog(faultlogger.FaultType.JS_CRASH);
if (value) { if (value) {
......
...@@ -10,10 +10,9 @@ ...@@ -10,10 +10,9 @@
import HashMap from '@ohos.util.HashMap' import HashMap from '@ohos.util.HashMap'
``` ```
## 系统能力
## 权限 SystemCapability.Utils.Lang
## HashMap ## HashMap
...@@ -22,359 +21,392 @@ import HashMap from '@ohos.util.HashMap' ...@@ -22,359 +21,392 @@ import HashMap from '@ohos.util.HashMap'
| 名称 | 参数类型 | 可读 | 可写 | 说明 | | 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- | -------- |
| length | number | 是 | 否 | HashMap的元素个数 | | length | number | 是 | 否 | HashMap的元素个数 |
### constructor ### constructor
constructor(); constructor()
HashMap的构造函数。 HashMap的构造函数。
- 示例: **示例:**
```
let hashMap = new HashMap(); ```
``` let hashMap = new HashMap();
```
### isEmpty ### isEmpty
isEmpty(): boolean; isEmpty(): boolean
判断该HashMap是否为空。 判断该HashMap是否为空。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- |
| boolean | 为空返回true, 不为空返回false |
- 示例: | 类型 | 说明 |
``` | -------- | -------- |
const hashMap = new HashMap(); | boolean | 为空返回true,不为空返回false。 |
hashMap.isEmpty();
``` **示例:**
```
const hashMap = new HashMap();
hashMap.isEmpty();
```
### hasKey ### hasKey
hasKey(key: K): boolean; hasKey(key: K): boolean
判断此HashMap中是否含有该指定key。 判断此HashMap中是否含有该指定key。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| key | K | 是 | 指定元素 | | -------- | -------- | -------- | -------- |
| key | K | 是 | 指定Key。 |
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- |
| boolean | 是否包含指定元素 |
- 示例: | 类型 | 说明 |
``` | -------- | -------- |
let hashMap = new HashMap(); | boolean | 包含指定Key返回true,否则返回false。 |
hashMap.hasKey("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
hashMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); **示例:**
hashMap.hasKey("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
``` ```
let hashMap = new HashMap();
hashMap.hasKey("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
hashMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
hashMap.hasKey("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
```
### hasValue ### hasValue
hasValue(value: V): boolean; hasValue(value: V): boolean
判断此HashMap中是否含有该指定value。 判断此HashMap中是否含有该指定value。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| value | V | 是 | 指定元素 | | -------- | -------- | -------- | -------- |
| value | V | 是 | 指定value。 |
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- |
| boolean | 是否包含指定元素 |
- 示例: | 类型 | 说明 |
``` | -------- | -------- |
let hashMap = new HashMap(); | boolean | 包含指定value返回true,否则返回false。 |
hashMap.hasValue(123);
hashMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); **示例:**
hashMap.hasValue(123);
``` ```
let hashMap = new HashMap();
hashMap.hasValue(123);
hashMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
hashMap.hasValue(123);
```
### get ### get
get(key: K): V; get(key: K): V
获取指定key所对应的value。 获取指定key所对应的value。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| key | K | 是 | 查找的指定key |
- 返回值: | 参数名 | 类型 | 必填 | 说明 |
| 类型 | 说明 | | -------- | -------- | -------- | -------- |
| -------- | -------- | | key | K | 是 | 查找的指定key。 |
| V | 返回key映射的value值 |
- 示例: **返回值:**
```
let hashMap = new HashMap(); | 类型 | 说明 |
hashMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); | -------- | -------- |
hashMap.set("sdfs", 356); | V | 返回key映射的value值。 |
hashMap.get("sdfs");
``` **示例:**
```
let hashMap = new HashMap();
hashMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
hashMap.set("sdfs", 356);
hashMap.get("sdfs");
```
### setAll ### setAll
setAll(map: HashMap<K, V>): void; setAll(map: HashMap<K, V>): void
将一个HashMap中的所有元素组添加到另一个hashmap中。 将一个HashMap中的所有元素组添加到另一个hashmap中。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| map | HashMap<K, V> | 是 | 被添加元素的hashmap |
- 示例: | 参数名 | 类型 | 必填 | 说明 |
``` | -------- | -------- | -------- | -------- |
let hashMap = new HashMap(); | map | HashMap<K, V> | 是 | 被添加元素的hashmap。 |
hashMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
hashMap.set("sdfs", 356); **示例:**
let newHashMap = new HashMap();
hashMap.setAll(newHashMap); ```
``` let hashMap = new HashMap();
hashMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
hashMap.set("sdfs", 356);
let newHashMap = new HashMap();
hashMap.setAll(newHashMap);
```
### set ### set
set(key: K, value: V): Object; set(key: K, value: V): Object
向HashMap中添加一组数据。 向HashMap中添加一组数据。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| key | K | 是 | 添加成员数据的键名 |
| value | V | 是 | 添加成员数据的值 |
- 返回值: | 参数名 | 类型 | 必填 | 说明 |
| 类型 | 说明 | | -------- | -------- | -------- | -------- |
| -------- | -------- | | key | K | 是 | 添加成员数据的键名。 |
| Object | 返回添加后的hashmap | | value | V | 是 | 添加成员数据的值。 |
- 示例: **返回值:**
```
let hashMap = new HashMap(); | 类型 | 说明 |
hashMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); | -------- | -------- |
``` | Object | 返回添加后的hashmap。 |
**示例:**
```
let hashMap = new HashMap();
hashMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
```
### remove ### remove
remove(key: K): V; remove(key: K): V
删除指定的元素。 删除指定的元素。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| key | K | 是 | 依据key指定删除的元素 | | -------- | -------- | -------- | -------- |
| key | K | 是 | 依据key指定删除的元素。 |
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- |
| V | 返回删除元素的值 |
- 示例: | 类型 | 说明 |
``` | -------- | -------- |
let hashMap = new HashMap(); | V | 返回删除元素的值。 |
hashMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
hashMap.set("sdfs", 356); **示例:**
hashMap.remove("sdfs");
``` ```
let hashMap = new HashMap();
hashMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
hashMap.set("sdfs", 356);
hashMap.remove("sdfs");
```
### clear ### clear
clear(): void; clear(): void
清除HashMap中的所有元素,并把length置为0。 清除HashMap中的所有元素,并把length置为0。
- 示例: **示例:**
```
let hashMap = new HashMap(); ```
hashMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); let hashMap = new HashMap();
hashMap.set("sdfs", 356); hashMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
hashMap.clear(); hashMap.set("sdfs", 356);
``` hashMap.clear();
```
### keys ### keys
keys(): IterableIterator&lt;K&gt;; keys(): IterableIterator&lt;K&gt;
返回包含此映射中包含的键的新迭代器对象。 返回包含此映射中包含的键的新迭代器对象。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| IterableIterator&lt;K&gt; | 返回一个迭代器 | | -------- | -------- |
| IterableIterator&lt;K&gt; | 返回一个迭代器。 |
- 示例:
``` **示例:**
let hashMap = new HashMap();
hashMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); ```
hashMap.set("sdfs", 356); let hashMap = new HashMap();
let iter = hashMap.keys(); hashMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
let temp = iter.next().value; hashMap.set("sdfs", 356);
while(temp != undefined) { let iter = hashMap.keys();
let temp = iter.next().value;
while(temp != undefined) {
console.log(temp); console.log(temp);
temp = iter.next().value; temp = iter.next().value;
} }
``` ```
### values ### values
values(): IterableIterator&lt;V&gt;; values(): IterableIterator&lt;V&gt;
返回包含此映射中包含的键的新迭代器对象。 返回包含此映射中包含的键的新迭代器对象。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| IterableIterator&lt;V&gt; | 返回一个迭代器 | | -------- | -------- |
| IterableIterator&lt;V&gt; | 返回一个迭代器。 |
- 示例:
``` **示例:**
let hashMap = new HashMap();
hashMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); ```
hashMap.set("sdfs", 356); let hashMap = new HashMap();
let iter = hashMap.values(); hashMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
let temp = iter.next().value; hashMap.set("sdfs", 356);
while(temp != undefined) { let iter = hashMap.values();
let temp = iter.next().value;
while(temp != undefined) {
console.log(temp); console.log(temp);
temp = iter.next().value; temp = iter.next().value;
} }
``` ```
### replace ### replace
replace(key: K, value: V): boolean; replace(key: K, value: V): boolean
对HashMap中一组数据进行更新(替换)。 对HashMap中一组数据进行更新(替换)。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| key | K | 是 | 依据key指定替换的元素 | | -------- | -------- | -------- | -------- |
| value | V | 是 | 添加成员数据的值 | | key | K | 是 | 依据key指定替换的元素。 |
| value | V | 是 | 添加成员数据的值。 |
**返回值:**
- 返回值: | 类型 | 说明 |
| 类型 | 说明 | | -------- | -------- |
| -------- | -------- | | boolean | 是否成功对已有数据进行替换 |
| boolean | 是否成功对已有数据进行替换 |
- 示例: **示例:**
```
let hashMap = new HashMap(); ```
hashMap.set("sdfs", 123); let hashMap = new HashMap();
hashMap.replace("sdfs", 357); hashMap.set("sdfs", 123);
``` hashMap.replace("sdfs", 357);
```
### forEach ### forEach
forEach(callbackfn: (value: V, key?: K, hashMap?: HashMap<K, V>) => void, thisArg?: Object): void; forEach(callbackfn: (value: V, key?: K, hashMap?: HashMap<K, V>) => void, thisArg?: Object): void
通过回调函数来遍历HashMap实例对象上的元素以及元素对应的下标。 通过回调函数来遍历HashMap实例对象上的元素以及元素对应的下标。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| callbackfn | function | 是 | 回调函数 | | -------- | -------- | -------- | -------- |
| thisArg | Object | 否 | callbackfn被调用时用作this值 | | callbackfn | function | 是 | 回调函数。 |
| thisArg | Object | 否 | callbackfn被调用时用作this值。 |
- callbackfn的参数说明
| 参数名 | 类型 | 必填 | 说明 | callbackfn的参数说明:
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| value | V | 是 | 当前遍历到的元素键值对的值 | | -------- | -------- | -------- | -------- |
| key | K | 是 | 当前遍历到的元素键值对的键 | | value | V | 是 | 当前遍历到的元素键值对的值。 |
| hashMap | HashMap<K, V> | 否 | 当前调用forEach方法的实例对象 | | key | K | 是 | 当前遍历到的元素键值对的键。 |
| hashMap | HashMap<K, V> | 否 | 当前调用forEach方法的实例对象。 |
- 示例:
``` **示例:**
let hashMap = new HashMap();
hashMap.set("sdfs", 123); ```
hashMap.set("dfsghsf", 357); let hashMap = new HashMap();
hashMap.forEach((value, key) => { hashMap.set("sdfs", 123);
hashMap.set("dfsghsf", 357);
hashMap.forEach((value, key) => {
console.log(value, key); console.log(value, key);
}); });
``` ```
### entries ### entries
entries(): IterableIterator<[K, V]>; entries(): IterableIterator<[K, V]>
返回包含此映射中包含的键的新迭代器对象。 返回包含此映射中包含的键的新迭代器对象。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| IterableIterator<[K, V]> | 返回一个迭代器 | | -------- | -------- |
| IterableIterator<[K, V]> | 返回一个迭代器。 |
- 示例:
``` **示例:**
let hashMap = new HashMap();
hashMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); ```
hashMap.set("sdfs", 356); let hashMap = new HashMap();
let iter = hashMap.entries(); hashMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
let temp = iter.next().value; hashMap.set("sdfs", 356);
while(temp != undefined) { let iter = hashMap.entries();
let temp = iter.next().value;
while(temp != undefined) {
console.log(temp[0]); console.log(temp[0]);
console.log(temp[1]); console.log(temp[1]);
temp = iter.next().value; temp = iter.next().value;
} }
``` ```
### [Symbol.iterator] ### [Symbol.iterator]
[Symbol.iterator]\(): IterableIterator&lt;[K, V]&gt;; [Symbol.iterator]\(): IterableIterator&lt;[K, V]&gt;
返回一个迭代器,迭代器的每一项都是一个 JavaScript 对象,并返回该对象。 返回一个迭代器,迭代器的每一项都是一个 JavaScript 对象,并返回该对象。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| IterableIterator<[K, V]> | 返回一个迭代器 | | -------- | -------- |
| IterableIterator<[K, V]> | 返回一个迭代器。 |
- 示例: **示例:**
``` ```
let hashMap = new HashMap(); let hashMap = new HashMap();
hashMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); hashMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
hashMap.set("sdfs", 356); hashMap.set("sdfs", 356);
// 使用方法一: // 使用方法一:
for (let item of hashMap) { for (let item of hashMap) {
console.log("key: " + item[0]); console.log("key: " + item[0]);
console.log("value: " + item[1]); console.log("value: " + item[1]);
} }
// 使用方法二: // 使用方法二:
let iter = hashMap[Symbol.iterator](); let iter = hashMap[Symbol.iterator]();
let temp = iter.next().value; let temp = iter.next().value;
while(temp != undefined) { while(temp != undefined) {
console.log(temp[0]); console.log(temp[0]);
console.log(temp[1]); console.log(temp[1]);
temp = iter.next().value; temp = iter.next().value;
} }
``` ```
\ No newline at end of file \ No newline at end of file
...@@ -10,9 +10,9 @@ ...@@ -10,9 +10,9 @@
import HashSet from '@ohos.util.HashSet'; import HashSet from '@ohos.util.HashSet';
``` ```
## 权限 ## 系统能力
SystemCapability.Utils.Lang
## HashSet ## HashSet
...@@ -21,235 +21,255 @@ import HashSet from '@ohos.util.HashSet'; ...@@ -21,235 +21,255 @@ import HashSet from '@ohos.util.HashSet';
| 名称 | 参数类型 | 可读 | 可写 | 说明 | | 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- | -------- |
| length | number | 是 | 否 | HashSet的元素个数 | | length | number | 是 | 否 | HashSet的元素个数 |
### constructor ### constructor
constructor(); constructor()
HashSet的构造函数。 HashSet的构造函数。
- 示例: **示例:**
```
let hashSet = new HashSet(); ```
``` let hashSet = new HashSet();
```
### isEmpty ### isEmpty
isEmpty(): boolean; isEmpty(): boolean
判断该HashSet是否为空。 判断该HashSet是否为空。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- |
| boolean | 为空返回true, 不为空返回false |
- 示例: | 类型 | 说明 |
``` | -------- | -------- |
const hashSet = new HashSet(); | boolean | 为空返回true,不为空返回false。 |
hashSet.isEmpty();
``` **示例:**
```
const hashSet = new HashSet();
hashSet.isEmpty();
```
### has ### has
has(value: T): boolean; has(value: T): boolean
判断此HashSet中是否含有该指定key。 判断此HashSet中是否含有该指定key。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| value | T | 是 | 指定元素 | | -------- | -------- | -------- | -------- |
| value | T | 是 | 指定元素。 |
**返回值:**
- 返回值: | 类型 | 说明 |
| 类型 | 说明 | | -------- | -------- |
| -------- | -------- | | boolean | 包含指定元素返回true,否则返回false。 |
| boolean | 是否包含指定元素 |
- 示例: **示例:**
```
let hashSet = new HashSet(); ```
hashSet.has("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); let hashSet = new HashSet();
hashSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); hashSet.has("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
hashSet.has("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); hashSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
``` hashSet.has("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
```
### add ### add
add(value: T): boolean; add(value: T): boolean
向HashSet中添加数据。 向HashSet中添加数据。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | T | 是 | 添加成员数据 |
- 返回值: | 参数名 | 类型 | 必填 | 说明 |
| 类型 | 说明 | | -------- | -------- | -------- | -------- |
| -------- | -------- | | value | T | 是 | 添加成员数据。 |
| boolean | 返回是否有成功增加元素 |
- 示例: **返回值:**
```
let hashSet = new HashSet(); | 类型 | 说明 |
hashSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); | -------- | -------- |
``` | boolean | 成功增加元素返回true,否则返回false。 |
**示例:**
```
let hashSet = new HashSet();
hashSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
```
### remove ### remove
remove(value: T): boolean; remove(value: T): boolean
删除指定的元素。 删除指定的元素。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| value | T | 是 | 指定删除的元素 | | -------- | -------- | -------- | -------- |
| value | T | 是 | 指定删除的元素。 |
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- |
| boolean | 返回是否成功删除指定元素 |
- 示例: | 类型 | 说明 |
``` | -------- | -------- |
let hashSet = new HashSet(); | boolean | 成功删除指定元素返回true,否则返回false。 |
hashSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
hashSet.add("sdfs"); **示例:**
hashSet.remove("sdfs");
``` ```
let hashSet = new HashSet();
hashSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
hashSet.add("sdfs");
hashSet.remove("sdfs");
```
### clear ### clear
clear(): void; clear(): void
清除HashSet中的所有元素,并把length置为0。 清除HashSet中的所有元素,并把length置为0。
- 示例: **示例:**
```
let hashSet = new HashSet(); ```
hashSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); let hashSet = new HashSet();
hashSet.add("sdfs"); hashSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
hashSet.clear(); hashSet.add("sdfs");
``` hashSet.clear();
```
### values ### values
values(): IterableIterator&lt;T&gt;; values(): IterableIterator&lt;T&gt;
返回包含此映射中包含的键的新迭代器对象。 返回包含此映射中包含的键的新迭代器对象。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| IterableIterator&lt;T&gt; | 返回一个迭代器 | | -------- | -------- |
| IterableIterator&lt;T&gt; | 返回一个迭代器。 |
- 示例:
``` **示例:**
let hashSet = new HashSet();
hashSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); ```
hashSet.add("sdfs"); let hashSet = new HashSet();
let iter = hashSet.values(); hashSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
let temp = iter.next().value; hashSet.add("sdfs");
while(temp != undefined) { let iter = hashSet.values();
let temp = iter.next().value;
while(temp != undefined) {
console.log(temp); console.log(temp);
temp = iter.next().value; temp = iter.next().value;
} }
``` ```
### forEach ### forEach
forEach(callbackfn: (value: T, key?: T, hashSet?: HashSet&lt;T&gt;) => void, thisArg?: Object): void; forEach(callbackfn: (value: T, key?: T, hashSet?: HashSet&lt;T&gt;) => void, thisArg?: Object): void
通过回调函数来遍历实例对象上的元素以及元素对应的下标。 通过回调函数来遍历实例对象上的元素以及元素对应的下标。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| callbackfn | function | 是 | 回调函数 | | -------- | -------- | -------- | -------- |
| thisArg | Object | 否 | callbackfn被调用时用作this值 | | callbackfn | function | 是 | 回调函数。 |
| thisArg | Object | 否 | callbackfn被调用时用作this值。 |
- callbackfn的参数说明
| 参数名 | 类型 | 必填 | 说明 | callbackfn的参数说明:
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| value | T | 是 | 当前遍历到的元素键值对的值 | | -------- | -------- | -------- | -------- |
| key | T | 否 | 当前遍历到的元素键值对的值(和value相同) | | value | T | 是 | 当前遍历到的元素键值对的值。 |
| hashSet | HashSet&lt;T&gt; | 否 | 当前调用forEach方法的实例对象 | | key | T | 否 | 当前遍历到的元素键值对的值(和value相同)。 |
| hashSet | HashSet&lt;T&gt; | 否 | 当前调用forEach方法的实例对象。 |
- 示例: **示例:**
```
let hashSet = new HashSet(); ```
hashSet.add("sdfs"); let hashSet = new HashSet();
hashSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); hashSet.add("sdfs");
hashSet.forEach((value, key) => { hashSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
hashSet.forEach((value, key) => {
console.log(value, key); console.log(value, key);
}); });
``` ```
### entries ### entries
entries(): IterableIterator<[T, T]>; entries(): IterableIterator<[T, T]>
返回包含此映射中包含的键的新迭代器对象。 返回包含此映射中包含的键的新迭代器对象。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| IterableIterator<[T, T]> | 返回一个迭代器 | | -------- | -------- |
| IterableIterator<[T, T]> | 返回一个迭代器 |
- 示例:
``` **示例:**
let hashSet = new HashSet();
hashSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); ```
hashSet.add("sdfs"); let hashSet = new HashSet();
let iter = hashSet.entries(); hashSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
let temp = iter.next().value; hashSet.add("sdfs");
while(temp != undefined) { let iter = hashSet.entries();
let temp = iter.next().value;
while(temp != undefined) {
console.log(temp[0]); console.log(temp[0]);
console.log(temp[1]); console.log(temp[1]);
temp = iter.next().value; temp = iter.next().value;
} }
``` ```
### [Symbol.iterator] ### [Symbol.iterator]
[Symbol.iterator]\(): IterableIterator&lt;T&gt;; [Symbol.iterator]\(): IterableIterator&lt;T&gt;
返回一个迭代器,迭代器的每一项都是一个 JavaScript 对象,并返回该对象。 返回一个迭代器,迭代器的每一项都是一个 JavaScript 对象,并返回该对象。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| IterableIterator&lt;T&gt; | 返回一个迭代器 | | -------- | -------- |
| IterableIterator&lt;T&gt; | 返回一个迭代器 |
- 示例: **示例:**
```
let hashSet = new HashSet();
hashSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
hashSet.add("sdfs");
// 使用方法一: ```
for (let item of hashSet) { let hashSet = new HashSet();
hashSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
hashSet.add("sdfs");
// 使用方法一:
for (let item of hashSet) {
console.log("value: " + item); console.log("value: " + item);
} }
// 使用方法二: // 使用方法二:
let iter = hashSet[Symbol.iterator](); let iter = hashSet[Symbol.iterator]();
let temp = iter.next().value; let temp = iter.next().value;
while(temp != undefined) { while(temp != undefined) {
console.log(temp); console.log(temp);
temp = iter.next().value; temp = iter.next().value;
} }
``` ```
\ No newline at end of file \ No newline at end of file
...@@ -22,17 +22,19 @@ write(eventName: string, eventType: EventType, keyValues: object, callback: Asyn ...@@ -22,17 +22,19 @@ write(eventName: string, eventType: EventType, keyValues: object, callback: Asyn
应用事件打点方法,将事件写入到当天的事件文件中,可接收类型为Json对象的事件参数,使用callback方式作为异步回调。 应用事件打点方法,将事件写入到当天的事件文件中,可接收类型为Json对象的事件参数,使用callback方式作为异步回调。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| eventName | string | 是 | 应用事件名称。 | | -------- | -------- | -------- | -------- |
| eventType | [EventType](#eventtype) | 是 | 应用事件类型。 | | eventName | string | 是 | 应用事件名称。 |
| keyValues | object | 是 | 应用事件的参数,key类型只能为string,value类型只能为string、number、boolean、Array(数组数据类型只能为string、number、boolean)。 | | eventType | [EventType](#eventtype) | 是 | 应用事件类型。 |
| callback | AsyncCallback&lt;void&gt; | 否 | 回调函数,可以在回调函数中处理接口返回值。<br/>-&nbsp;返回值为0表示事件校验成功,事件正常异步写入事件文件;<br/>-&nbsp;大于0表示事件校验存在异常参数,在忽略异常参数后将事件异步写入事件文件;<br/>-&nbsp;小于0表示事件校验失败,不将事件写入事件文件。 | | keyValues | object | 是 | 应用事件的参数,key类型只能为string,value类型只能为string、number、boolean、Array(数组数据类型只能为string、number、boolean)。 |
| callback | AsyncCallback&lt;void&gt; | 否 | 回调函数,可以在回调函数中处理接口返回值。<br/>-&nbsp;返回值为0表示事件校验成功,事件正常异步写入事件文件;<br/>-&nbsp;大于0表示事件校验存在异常参数,在忽略异常参数后将事件异步写入事件文件;<br/>-&nbsp;小于0表示事件校验失败,不将事件写入事件文件。 |
- 示例:
``` **示例:**
hiAppEvent.write("test_event", hiAppEvent.EventType.FAULT, {"int_data":100, "str_data":"strValue"}, (err, value) => {
```
hiAppEvent.write("test_event", hiAppEvent.EventType.FAULT, {"int_data":100, "str_data":"strValue"}, (err, value) => {
if (err) { if (err) {
// 事件写入异常:事件存在异常参数时忽略异常参数后继续写入,或者事件校验失败时不执行写入 // 事件写入异常:事件存在异常参数时忽略异常参数后继续写入,或者事件校验失败时不执行写入
console.error(`failed to write event because ${err.code}`); console.error(`failed to write event because ${err.code}`);
...@@ -41,8 +43,8 @@ write(eventName: string, eventType: EventType, keyValues: object, callback: Asyn ...@@ -41,8 +43,8 @@ write(eventName: string, eventType: EventType, keyValues: object, callback: Asyn
// 事件写入正常 // 事件写入正常
console.log(`success to write event: ${value}`); console.log(`success to write event: ${value}`);
}); });
``` ```
## hiAppEvent.write ## hiAppEvent.write
...@@ -51,21 +53,24 @@ write(eventName: string, eventType: EventType, keyValues: object): Promise&lt;vo ...@@ -51,21 +53,24 @@ write(eventName: string, eventType: EventType, keyValues: object): Promise&lt;vo
应用事件打点方法,将事件写入到当天的事件文件中,可接收类型为Json对象的事件参数,使用promise方式作为异步回调。 应用事件打点方法,将事件写入到当天的事件文件中,可接收类型为Json对象的事件参数,使用promise方式作为异步回调。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| eventName | string | 是 | 应用事件名称。 | | -------- | -------- | -------- | -------- |
| eventType | [EventType](#eventtype) | 是 | 应用事件类型。 | | eventName | string | 是 | 应用事件名称。 |
| keyValues | object | 是 | 应用事件的参数,key类型只能为string,value类型只能为string、number、boolean、Array(数组数据类型只能为string、number、boolean)。 | | eventType | [EventType](#eventtype) | 是 | 应用事件类型。 |
| keyValues | object | 是 | 应用事件的参数,key类型只能为string,value类型只能为string、number、boolean、Array(数组数据类型只能为string、number、boolean)。 |
- 返回值:
| 类型 | 说明 | **返回值:**
| -------- | -------- |
| Promise&lt;void&gt; | Promise实例,可以在其then()、catch()方法中分别对事件写入成功、写入异常的情况进行回调处理。 | | 类型 | 说明 |
| -------- | -------- |
- 示例: | Promise&lt;void&gt; | Promise实例,可以在其then()、catch()方法中分别对事件写入成功、写入异常的情况进行回调处理。 |
```
hiAppEvent.write("test_event", hiAppEvent.EventType.FAULT, {"int_data":100, "str_data":"strValue"}) **示例:**
```
hiAppEvent.write("test_event", hiAppEvent.EventType.FAULT, {"int_data":100, "str_data":"strValue"})
.then((value) => { .then((value) => {
// 事件写入正常 // 事件写入正常
console.log(`success to write event: ${value}`); console.log(`success to write event: ${value}`);
...@@ -73,7 +78,7 @@ write(eventName: string, eventType: EventType, keyValues: object): Promise&lt;vo ...@@ -73,7 +78,7 @@ write(eventName: string, eventType: EventType, keyValues: object): Promise&lt;vo
// 事件写入异常:事件存在异常参数时忽略异常参数后继续写入,或者事件校验失败时不执行写入 // 事件写入异常:事件存在异常参数时忽略异常参数后继续写入,或者事件校验失败时不执行写入
console.error(`failed to write event because ${err.code}`); console.error(`failed to write event because ${err.code}`);
}); });
``` ```
## hiAppEvent.configure ## hiAppEvent.configure
...@@ -82,28 +87,30 @@ configure(config: ConfigOption): boolean ...@@ -82,28 +87,30 @@ configure(config: ConfigOption): boolean
应用事件打点配置方法,可用于配置打点开关、文件目录存储限额大小等功能。 应用事件打点配置方法,可用于配置打点开关、文件目录存储限额大小等功能。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| config | [ConfigOption](#configoption) | 是 | 应用事件打点配置项对象。 | | -------- | -------- | -------- | -------- |
| config | [ConfigOption](#configoption) | 是 | 应用事件打点配置项对象。 |
**返回值:**
- 返回值: | 类型 | 说明 |
| 类型 | 说明 | | -------- | -------- |
| -------- | -------- | | boolean | 配置结果,true&nbsp;表示配置成功,false&nbsp;表示配置失败。 |
| boolean | 配置结果,true&nbsp;表示配置成功,false&nbsp;表示配置失败。 |
- 示例: **示例:**
``` ```
// 配置应用事件打点功能开关 // 配置应用事件打点功能开关
hiAppEvent.configure({ hiAppEvent.configure({
disable: true disable: true
}); });
// 配置事件文件目录存储限额大小 // 配置事件文件目录存储限额大小
hiAppEvent.configure({ hiAppEvent.configure({
maxStorage: '100M' maxStorage: '100M'
}); });
``` ```
## ConfigOption ## ConfigOption
......
...@@ -34,22 +34,22 @@ addRule(rule: BigInt): void ...@@ -34,22 +34,22 @@ addRule(rule: BigInt): void
添加一条或多条规则到系统,系统根据添加的规则进行检测或反馈。 添加一条或多条规则到系统,系统根据添加的规则进行检测或反馈。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ---------------- | | ------ | ------ | ---- | ---------------- |
| rule | BigInt | 是 | 需要添加的规则。 | | rule | BigInt | 是 | 需要添加的规则。 |
- 示例: **示例:**
``` ```
// 添加一条规则 // 添加一条规则
hichecker.addRule(hichecker.RULE_CAUTION_PRINT_LOG); hichecker.addRule(hichecker.RULE_CAUTION_PRINT_LOG);
// 添加多条规则 // 添加多条规则
hichecker.addRule( hichecker.addRule(
hichecker.RULE_CAUTION_PRINT_LOG | hichecker.RULE_CAUTION_TRIGGER_CRASH); hichecker.RULE_CAUTION_PRINT_LOG | hichecker.RULE_CAUTION_TRIGGER_CRASH);
``` ```
## hichecker.removeRule ## hichecker.removeRule
...@@ -57,44 +57,44 @@ removeRule(rule: BigInt): void ...@@ -57,44 +57,44 @@ removeRule(rule: BigInt): void
删除一条或多条规则,删除的规则后续将不再生效。 删除一条或多条规则,删除的规则后续将不再生效。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ---------------- | | ------ | ------ | ---- | ---------------- |
| rule | BigInt | 是 | 需要删除的规则。 | | rule | BigInt | 是 | 需要删除的规则。 |
- 示例: **示例:**
``` ```
// 删除一条规则 // 删除一条规则
hichecker.removeRule(hichecker.RULE_CAUTION_PRINT_LOG); hichecker.removeRule(hichecker.RULE_CAUTION_PRINT_LOG);
// 删除多条规则 // 删除多条规则
hichecker.removeRule( hichecker.removeRule(
hichecker.RULE_CAUTION_PRINT_LOG | hichecker.RULE_CAUTION_TRIGGER_CRASH); hichecker.RULE_CAUTION_PRINT_LOG | hichecker.RULE_CAUTION_TRIGGER_CRASH);
``` ```
## hichecker.getRule() ## hichecker.getRule
getRule(): BigInt getRule(): BigInt
获取当前线程规则、进程规则、告警规则的合集。 获取当前线程规则、进程规则、告警规则的合集。
- 返回值: **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| ------ | ---------------------- | | ------ | ---------------------- |
| BigInt | 当前系统中添加的规则。 | | BigInt | 当前系统中添加的规则。 |
- 示例: **示例:**
``` ```
// 添加一条规则 // 添加一条规则
hichecker.addRule(hichecker.RULE_THREAD_CHECK_SLOW_PROCESS); hichecker.addRule(hichecker.RULE_THREAD_CHECK_SLOW_PROCESS);
// 获取已添加的规则 // 获取已添加的规则
hichecker.getRule(); // return 1n; hichecker.getRule(); // return 1n;
``` ```
## hichecker.contains ## hichecker.contains
...@@ -102,25 +102,25 @@ contains(rule: BigInt): boolean ...@@ -102,25 +102,25 @@ contains(rule: BigInt): boolean
当前已添加的规则集中是否包含了某一个特定的规则,如果传入的规则级别为线程级别,则仅在当前线程中进行查询。 当前已添加的规则集中是否包含了某一个特定的规则,如果传入的规则级别为线程级别,则仅在当前线程中进行查询。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ---------------- | | ------ | ------ | ---- | ---------------- |
| rule | BigInt | 是 | 需要查询的规则。 | | rule | BigInt | 是 | 需要查询的规则。 |
- 返回值: **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| ------- | ---------------------------------------------------------- | | ------- | ---------------------------------------------------------- |
| boolean | 查询结果,true&nbsp;表示规则已添加,false 表示规则未添加。 | | boolean | 查询结果,true&nbsp;表示规则已添加,false 表示规则未添加。 |
- 示例: **示例:**
``` ```
// 添加一条规则 // 添加一条规则
hichecker.addRule(hichecker.RULE_THREAD_CHECK_SLOW_PROCESS); hichecker.addRule(hichecker.RULE_THREAD_CHECK_SLOW_PROCESS);
// 查询是否包含 // 查询是否包含
hichecker.contains(hichecker.RULE_THREAD_CHECK_SLOW_PROCESS); // return true; hichecker.contains(hichecker.RULE_THREAD_CHECK_SLOW_PROCESS); // return true;
hichecker.contains(hichecker.RULE_CAUTION_PRINT_LOG); // return false; hichecker.contains(hichecker.RULE_CAUTION_PRINT_LOG); // return false;
``` ```
\ No newline at end of file
...@@ -68,20 +68,24 @@ begin(name: string, flags: number = HiTraceFlag.DEFAULT): HiTraceId ...@@ -68,20 +68,24 @@ begin(name: string, flags: number = HiTraceFlag.DEFAULT): HiTraceId
开始跟踪,同步接口。 开始跟踪,同步接口。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| name | string | 是 | 跟踪业务名。 | | -------- | -------- | -------- | -------- |
| flags | number | 是 | [跟踪标志组合](#hitraceflag)。 | | name | string | 是 | 跟踪业务名。 |
- 返回值: | flags | number | 是 | 跟踪标志组合,具体可参考[HiTraceFlag](#hitraceflag)。 |
| 类型 | 说明 |
| -------- | -------- | **返回值:**
| [HiTraceId](#hitraceid) | HiTraceId实例。 |
| 类型 | 说明 |
- 示例: | -------- | -------- |
``` | [HiTraceId](#hitraceid) | HiTraceId实例。 |
let asyncTraceId = hiTraceChain.begin("business", hiTraceChain.HiTraceFlag.INCLUDE_ASYNC | hiTraceChain.HiTraceFlag.DONOT_CREATE_SPAN);
``` **示例:**
```
let asyncTraceId = hiTraceChain.begin("business", hiTraceChain.HiTraceFlag.INCLUDE_ASYNC | hiTraceChain.HiTraceFlag.DONOT_CREATE_SPAN);
```
## hiTraceChain.end ## hiTraceChain.end
...@@ -89,17 +93,19 @@ end(id: HiTraceId): void ...@@ -89,17 +93,19 @@ end(id: HiTraceId): void
结束跟踪,同步接口。 结束跟踪,同步接口。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| id | [HiTraceId](#hitraceid) | 是 | HiTraceId实例。 | | -------- | -------- | -------- | -------- |
| id | [HiTraceId](#hitraceid) | 是 | HiTraceId实例。 |
**示例:**
- 示例: ```
``` let asyncTraceId = hiTraceChain.begin("business");
let asyncTraceId = hiTraceChain.begin("business"); // 若干业务逻辑完成后,结束跟踪。
// 若干业务逻辑完成后,结束跟踪。 hiTraceChain.end(asyncTraceId);
hiTraceChain.end(asyncTraceId); ```
```
## hiTraceChain.getId ## hiTraceChain.getId
...@@ -107,17 +113,19 @@ getId(): HiTraceId ...@@ -107,17 +113,19 @@ getId(): HiTraceId
获取跟踪标识,同步接口。 获取跟踪标识,同步接口。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| [HiTraceId](#hitraceid) | HiTraceId实例。 | | -------- | -------- |
| [HiTraceId](#hitraceid) | HiTraceId实例。 |
- 示例: **示例:**
```
let traceId = hiTraceChain.begin("business"); ```
// 若干业务逻辑完成后,获取当前HiTraceId。 let traceId = hiTraceChain.begin("business");
let curTraceId = hiTraceChain.getId(); // 若干业务逻辑完成后,获取当前HiTraceId。
``` let curTraceId = hiTraceChain.getId();
```
## hiTraceChain.setId ## hiTraceChain.setId
...@@ -125,17 +133,19 @@ setId(id: HiTraceId): void ...@@ -125,17 +133,19 @@ setId(id: HiTraceId): void
设置跟踪标识,同步接口。 设置跟踪标识,同步接口。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| id | [HiTraceId](#hitraceid) | 是 | HiTraceId实例。 | | -------- | -------- | -------- | -------- |
| id | [HiTraceId](#hitraceid) | 是 | HiTraceId实例。 |
- 示例: **示例:**
```
let traceId = hiTraceChain.begin("business"); ```
// 若干业务逻辑完成后,设置当前HiTraceId。 let traceId = hiTraceChain.begin("business");
hiTraceChain.setId(asyncTraceId); // 若干业务逻辑完成后,设置当前HiTraceId。
``` hiTraceChain.setId(asyncTraceId);
```
## hiTraceChain.clearId ## hiTraceChain.clearId
...@@ -143,12 +153,13 @@ clearId(): void ...@@ -143,12 +153,13 @@ clearId(): void
清除跟踪标识,同步接口。 清除跟踪标识,同步接口。
- 示例: **示例:**
```
let traceId = hiTraceChain.begin("business"); ```
// 若干业务逻辑完成后,清除当前HiTraceId。 let traceId = hiTraceChain.begin("business");
hiTraceChain.clearId(); // 若干业务逻辑完成后,清除当前HiTraceId。
``` hiTraceChain.clearId();
```
## hiTraceChain.createSpan ## hiTraceChain.createSpan
...@@ -156,17 +167,19 @@ createSpan(): HiTraceId ...@@ -156,17 +167,19 @@ createSpan(): HiTraceId
创建跟踪分支,同步接口。 创建跟踪分支,同步接口。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- |
| [HiTraceId](#hitraceid) | HiTraceId实例。 |
- 示例: | 类型 | 说明 |
``` | -------- | -------- |
let traceId = hiTraceChain.begin("business"); | [HiTraceId](#hitraceid) | HiTraceId实例。 |
// 若干业务逻辑完成后,创建跟踪分支。
let spanTraceId = hiTraceChain.createSpan(); **示例:**
```
```
let traceId = hiTraceChain.begin("business");
// 若干业务逻辑完成后,创建跟踪分支。
let spanTraceId = hiTraceChain.createSpan();
```
## hiTraceChain.tracepoint ## hiTraceChain.tracepoint
...@@ -174,20 +187,22 @@ tracepoint(mode: HiTraceCommunicationMode, type: HiTraceTracepointType, id: HiTr ...@@ -174,20 +187,22 @@ tracepoint(mode: HiTraceCommunicationMode, type: HiTraceTracepointType, id: HiTr
信息埋点,同步接口。 信息埋点,同步接口。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| mode | [HiTraceCommunicationMode](#hitracecommunicationmode) | 是 | 信息埋点需要指定的跟踪通信模式。 | | -------- | -------- | -------- | -------- |
| type | [HiTraceTracepointType](#hitracetracepointtype)| 是 | 信息埋点需要指定的跟踪埋点类型。 | | mode | [HiTraceCommunicationMode](#hitracecommunicationmode) | 是 | 信息埋点需要指定的跟踪通信模式。 |
| id | [HiTraceId](#hitraceid) | 是 | 实施信息埋点操作的HiTraceId实例。 | | type | [HiTraceTracepointType](#hitracetracepointtype)| 是 | 信息埋点需要指定的跟踪埋点类型。 |
| msg | string | 否 | 信息埋点操作传入的trace说明信息。 | | id | [HiTraceId](#hitraceid) | 是 | 实施信息埋点操作的HiTraceId实例。 |
| msg | string | 否 | 信息埋点操作传入的trace说明信息。 |
- 示例:
``` **示例:**
let asyncTraceId = hiTraceChain.begin("business", hiTraceChain.HiTraceFlag.INCLUDE_ASYNC | hiTraceChain.HiTraceFlag.DONOT_CREATE_SPAN);
// 若干业务逻辑完成后,触发信息埋点操作。 ```
hiTraceChain.tracepoint(hiTraceChain.HiTraceCommunicationMode.THREAD, hiTraceChain.HiTraceTracepointType.SS, asyncTraceId, "Just a example"); let asyncTraceId = hiTraceChain.begin("business", hiTraceChain.HiTraceFlag.INCLUDE_ASYNC | hiTraceChain.HiTraceFlag.DONOT_CREATE_SPAN);
``` // 若干业务逻辑完成后,触发信息埋点操作。
hiTraceChain.tracepoint(hiTraceChain.HiTraceCommunicationMode.THREAD, hiTraceChain.HiTraceTracepointType.SS, asyncTraceId, "Just a example");
```
## hiTraceChain.isValid ## hiTraceChain.isValid
...@@ -195,20 +210,24 @@ isValid(id: HiTraceId): boolean ...@@ -195,20 +210,24 @@ isValid(id: HiTraceId): boolean
判断HiTraceId对象是否有效,同步接口。 判断HiTraceId对象是否有效,同步接口。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| id | [HiTraceId](#hitraceid) | 是 | 需要判断是否有效的HiTraceId实例。 | | -------- | -------- | -------- | -------- |
- 返回值: | id | [HiTraceId](#hitraceid) | 是 | 需要判断是否有效的HiTraceId实例。 |
| 类型 | 说明 |
| -------- | -------- | **返回值:**
| boolean | 返回true表示HiTraceId有效,否则无效。 |
| 类型 | 说明 |
- 示例: | -------- | -------- |
``` | boolean | 返回true表示HiTraceId有效,否则无效。 |
let traceId = hiTraceChain.begin("business");
let traceIdIsvalid = hiTraceChain.isValid(traceId); **示例:**
```
```
let traceId = hiTraceChain.begin("business");
let traceIdIsvalid = hiTraceChain.isValid(traceId);
```
## hiTraceChain.isFlagEnabled ## hiTraceChain.isFlagEnabled
...@@ -216,21 +235,26 @@ isFlagEnabled(id: HiTraceId, flag: HiTraceFlag): boolean ...@@ -216,21 +235,26 @@ isFlagEnabled(id: HiTraceId, flag: HiTraceFlag): boolean
判断HiTraceId对象中指定的跟踪标志是否已置位,同步接口。 判断HiTraceId对象中指定的跟踪标志是否已置位,同步接口。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| id | [HiTraceId](#hitraceid) | 是 | 需要判断指定跟踪标志是否置位的HiTraceId实例。 | | -------- | -------- | -------- | -------- |
| flag | [HiTraceFlag](#hitraceflag) | 是 | 指定的跟踪标志。 | | id | [HiTraceId](#hitraceid) | 是 | 需要判断指定跟踪标志是否置位的HiTraceId实例。 |
- 返回值: | flag | [HiTraceFlag](#hitraceflag) | 是 | 指定的跟踪标志。 |
| 类型 | 说明 |
| -------- | -------- | **返回值:**
| boolean | 返回true标识HiTraceId已置位指定的flag,否则没有置位。 |
- 示例: | 类型 | 说明 |
``` | -------- | -------- |
let asyncTraceId = hiTraceChain.begin("business", hiTraceChain.HiTraceFlag.INCLUDE_ASYNC); | boolean | 返回true标识HiTraceId已置位指定的flag,否则没有置位。 |
// enabledDoNotCreateSpanFlag为true
let enabledDoNotCreateSpanFlag = hiTraceChain.isFlagEnabled(asyncTraceId, hiTraceChain.HiTraceFlag.INCLUDE_ASYNC); **示例:**
```
```
let asyncTraceId = hiTraceChain.begin("business", hiTraceChain.HiTraceFlag.INCLUDE_ASYNC);
// enabledDoNotCreateSpanFlag为true
let enabledDoNotCreateSpanFlag = hiTraceChain.isFlagEnabled(asyncTraceId, hiTraceChain.HiTraceFlag.INCLUDE_ASYNC);
```
## hiTraceChain.enableFlag ## hiTraceChain.enableFlag
...@@ -238,16 +262,17 @@ enableFlag(id: HiTraceId, flag: HiTraceFlag): void ...@@ -238,16 +262,17 @@ enableFlag(id: HiTraceId, flag: HiTraceFlag): void
置位HiTraceId对象中指定的跟踪标志,同步接口。 置位HiTraceId对象中指定的跟踪标志,同步接口。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| id | [HiTraceId](#hitraceid) | 是 | 需要置位指定跟踪标志的HiTraceId实例。 | | id | [HiTraceId](#hitraceid) | 是 | 需要置位指定跟踪标志的HiTraceId实例。 |
| flag | [HiTraceFlag](#hitraceflag) | 是 | 指定的跟踪标志。 | | flag | [HiTraceFlag](#hitraceflag) | 是 | 指定的跟踪标志。 |
- 示例: **示例:**
```
let asyncTraceId = hiTraceChain.begin("business", hiTraceChain.HiTraceFlag.INCLUDE_ASYNC); ```
hiTraceChain.enable(asyncTraceId, hiTraceChain.HiTraceFlag.DONOT_CREATE_SPAN); let asyncTraceId = hiTraceChain.begin("business", hiTraceChain.HiTraceFlag.INCLUDE_ASYNC);
// enabledDoNotCreateSpanFlag为true hiTraceChain.enable(asyncTraceId, hiTraceChain.HiTraceFlag.DONOT_CREATE_SPAN);
let enabledDoNotCreateSpanFlag = hiTraceChain.isFlagEnabled(asyncTraceId, hiTraceChain.HiTraceFlag.DONOT_CREATE_SPAN); // enabledDoNotCreateSpanFlag为true
``` let enabledDoNotCreateSpanFlag = hiTraceChain.isFlagEnabled(asyncTraceId, hiTraceChain.HiTraceFlag.DONOT_CREATE_SPAN);
```
...@@ -22,22 +22,24 @@ startTrace(name: string, taskId: number, expectedTime?: number): void ...@@ -22,22 +22,24 @@ startTrace(name: string, taskId: number, expectedTime?: number): void
标记一个预追踪耗时任务的开始,expectedTime是可选参数,标识该任务的期望耗时。 标记一个预追踪耗时任务的开始,expectedTime是可选参数,标识该任务的期望耗时。
如果有多个相同name的任务需要追踪或者对同一个任务要追踪多次,并且任务同时被执行,则每次调用startTrace的taskId不相同。
- 参数: 如果具有相同name的任务是串行执行的,则taskId可以相同。具体示例可参考[hiTraceMeter.finishTrace](#hitracemeterfinishtrace)中的示例。
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| name | string | 是 | 要追踪的任务名称 |
| taskId | number | 是 | 任务id |
| expectedTime | number | 否 | 期望的耗时时间,单位:ms |
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:** **参数:**
> 如果有多个相同name的任务需要追踪或者对同一个任务要追踪多次,并且这些会同时被执行,则每次调用startTrace的taskId必须不一致。如果具有相同name的任务是串行执行的,则taskId可以相同。在下面hiTraceMeter.finishTrace的示例中会举例说明。
- 示例: | 参数名 | 类型 | 必填 | 说明 |
``` | -------- | -------- | -------- | -------- |
hiTraceMeter.startTrace("myTestFunc", 1); | name | string | 是 | 要追踪的任务名称 |
hiTraceMeter.startTrace("myTestFunc", 1, 5); //从startTrace到finishTrace流程的耗时期望为5ms | taskId | number | 是 | 任务id |
``` | expectedTime | number | 否 | 期望的耗时时间,单位:ms |
**示例:**
```
hiTraceMeter.startTrace("myTestFunc", 1);
hiTraceMeter.startTrace("myTestFunc", 1, 5); //从startTrace到finishTrace流程的耗时期望为5ms
```
## hiTraceMeter.finishTrace ## hiTraceMeter.finishTrace
...@@ -46,42 +48,42 @@ finishTrace(name: string, taskId: number): void ...@@ -46,42 +48,42 @@ finishTrace(name: string, taskId: number): void
标记一个预追踪耗时任务的结束。 标记一个预追踪耗时任务的结束。
finishTrace的name和taskId必须与流程开始的[startTrace](#hitracemeterstarttrace)对应参数值一致。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| name | string | 是 | 要追踪的任务名称 |
| taskId | number | 是 | 任务id。 |
**示例:**
```
hiTraceMeter.finishTrace("myTestFunc", 1);
```
```
//追踪并行执行的同名任务
hiTraceMeter.startTrace("myTestFunc", 1);
//业务流程......
hiTraceMeter.startTrace("myTestFunc", 2); //第二个追踪的任务开始,同时第一个追踪的同名任务还没结束,出现了并行执行,对应接口的taskId需要不同。
//业务流程......
hiTraceMeter.finishTrace("myTestFunc", 1);
//业务流程......
hiTraceMeter.finishTrace("myTestFunc", 2);
```
- 参数: ```
| 参数名 | 类型 | 必填 | 说明 | //追踪串行执行的同名任务
| -------- | -------- | -------- | -------- | hiTraceMeter.startTrace("myTestFunc", 1);
| name | string | 是 | 要追踪的任务名称 | //业务流程......
| taskId | number | 是 | 任务id | hiTraceMeter.finishTrace("myTestFunc", 1); //第一个追踪的任务结束
//业务流程......
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:** hiTraceMeter.startTrace("myTestFunc", 1); //第二个追踪的同名任务开始,同名的待追踪任务串行执行。
> finishTrace的name和taskId必须与流程开始的startTrace对应参数值一致。 //业务流程......
hiTraceMeter.finishTrace("myTestFunc", 1);
- 示例: ```
```
hiTraceMeter.finishTrace("myTestFunc", 1);
```
```
//追踪并行执行的同名任务
hiTraceMeter.startTrace("myTestFunc", 1);
//业务流程......
hiTraceMeter.startTrace("myTestFunc", 2); //第二个追踪的任务开始,同时第一个追踪的同名任务还没结束,出现了并行执行,对应接口的taskId需要不同。
//业务流程......
hiTraceMeter.finishTrace("myTestFunc", 1);
//业务流程......
hiTraceMeter.finishTrace("myTestFunc", 2);
```
```
//追踪串行执行的同名任务
hiTraceMeter.startTrace("myTestFunc", 1);
//业务流程......
hiTraceMeter.finishTrace("myTestFunc", 1); //第一个追踪的任务结束
//业务流程......
hiTraceMeter.startTrace("myTestFunc", 1); //第二个追踪的同名任务开始,同名的待追踪任务串行执行。
//业务流程......
hiTraceMeter.finishTrace("myTestFunc", 1);
```
## hiTraceMeter.traceByValue ## hiTraceMeter.traceByValue
...@@ -90,18 +92,18 @@ traceByValue(name: string, value: number): void ...@@ -90,18 +92,18 @@ traceByValue(name: string, value: number): void
用来标记一个预追踪的数值变量,该变量的数值会不断变化。 用来标记一个预追踪的数值变量,该变量的数值会不断变化。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| name | string | 是 | 要追踪的数值变量名称 |
| value | number | 是 | 变量的值 |
- 参数: **示例:**
| 参数名 | 类型 | 必填 | 说明 | ```
| -------- | -------- | -------- | -------- | let traceCount = 3;
| name | string | 是 | 要追踪的数值变量名称 | hiTraceMeter.traceByValue("myTestCount", traceCount);
| value | number | 是 | 变量的值 | traceCount = 4;
hiTraceMeter.traceByValue("myTestCount", traceCount);
- 示例: //业务流程......
``` ```
let traceCount = 3;
hiTraceMeter.traceByValue("myTestCount", traceCount);
traceCount = 4;
hiTraceMeter.traceByValue("myTestCount", traceCount);
//业务流程......
```
...@@ -10,10 +10,9 @@ ...@@ -10,10 +10,9 @@
import LightWeightMap from '@ohos.util.LightWeightMap' import LightWeightMap from '@ohos.util.LightWeightMap'
``` ```
## 系统能力
## 权限 SystemCapability.Utils.Lang
## LightWeightMap ## LightWeightMap
...@@ -22,64 +21,70 @@ import LightWeightMap from '@ohos.util.LightWeightMap' ...@@ -22,64 +21,70 @@ import LightWeightMap from '@ohos.util.LightWeightMap'
| 名称 | 参数类型 | 可读 | 可写 | 说明 | | 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- | -------- |
| length | number | 是 | 否 | LightWeightMap的元素个数 | | length | number | 是 | 否 | LightWeightMap的元素个数 |
### constructor ### constructor
constructor(); constructor()
LightWeightMap的构造函数。 LightWeightMap的构造函数。
- 示例: **示例:**
```
let lightWeightMap = new LightWeightMap(); ```
``` let lightWeightMap = new LightWeightMap();
```
### isEmpty ### isEmpty
isEmpty(): boolean; isEmpty(): boolean
判断该LightWeightMap是否为空。 判断该LightWeightMap是否为空。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- |
| boolean | 为空返回true, 不为空返回false |
- 示例: | 类型 | 说明 |
``` | -------- | -------- |
const lightWeightMap = new LightWeightMap(); | boolean | 为空返回true,不为空返回false。 |
lightWeightMap.isEmpty();
``` **示例:**
```
const lightWeightMap = new LightWeightMap();
lightWeightMap.isEmpty();
```
### hasAll ### hasAll
hasAll(map: LightWeightMap<K, V>): boolean; hasAll(map: LightWeightMap<K, V>): boolean
判断此LightWeightMap中是否含有该指定map中的所有元素。 判断此LightWeightMap中是否含有该指定map中的所有元素。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| map | LightWeightMap<K, V> | 是 | 比较对象 | | -------- | -------- | -------- | -------- |
| map | LightWeightMap<K, V> | 是 | 比较对象。 |
**返回值:**
- 返回值: | 类型 | 说明 |
| 类型 | 说明 | | -------- | -------- |
| -------- | -------- | | boolean | 包含所有元素返回true,否则返回false。 |
| boolean | 是否包含所有元素 |
- 示例: **示例:**
```
let lightWeightMap = new LightWeightMap(); ```
lightWeightMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); let lightWeightMap = new LightWeightMap();
lightWeightMap.set("sdfs", 356); lightWeightMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
let map = new LightWeightMap(); lightWeightMap.set("sdfs", 356);
map.set("sdfs", 356); let map = new LightWeightMap();
let result = lightWeightMap.hasAll(map); map.set("sdfs", 356);
``` let result = lightWeightMap.hasAll(map);
```
### hasKey ### hasKey
...@@ -88,464 +93,511 @@ hasKey(key: K): boolean; ...@@ -88,464 +93,511 @@ hasKey(key: K): boolean;
判断此LightWeightMap中是否含有该指定key。 判断此LightWeightMap中是否含有该指定key。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| key | K | 是 | 指定元素 |
- 返回值: | 参数名 | 类型 | 必填 | 说明 |
| 类型 | 说明 | | -------- | -------- | -------- | -------- |
| -------- | -------- | | key | K | 是 | 指定元素。 |
| boolean | 是否包含指定元素 |
- 示例: **返回值:**
```
let lightWeightMap = new LightWeightMap(); | 类型 | 说明 |
lightWeightMap.hasKey("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); | -------- | -------- |
lightWeightMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); | boolean | 包含指定元素返回true,否则返回false。 |
lightWeightMap.hasKey("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
``` **示例:**
```
let lightWeightMap = new LightWeightMap();
lightWeightMap.hasKey("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
lightWeightMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
lightWeightMap.hasKey("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
```
### hasValue ### hasValue
hasValue(value: V): boolean; hasValue(value: V): boolean
判断此LightWeightMap中是否含有该指定value。 判断此LightWeightMap中是否含有该指定value。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| value | V | 是 | 指定元素 | | -------- | -------- | -------- | -------- |
| value | V | 是 | 指定元素。 |
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- |
| boolean | 是否包含指定元素 |
- 示例: | 类型 | 说明 |
``` | -------- | -------- |
let lightWeightMap = new LightWeightMap(); | boolean | 包含指定元素返回true,否则返回false。 |
lightWeightMap.hasValue(123);
lightWeightMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); **示例:**
lightWeightMap.hasValue(123);
``` ```
let lightWeightMap = new LightWeightMap();
lightWeightMap.hasValue(123);
lightWeightMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
lightWeightMap.hasValue(123);
```
### increaseCapacityTo ### increaseCapacityTo
increaseCapacityTo(minimumCapacity: number): void; increaseCapacityTo(minimumCapacity: number): void
将当前LightWeightMap扩容至可以容纳指定数量元素。 将当前LightWeightMap扩容至可以容纳指定数量元素。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| minimumCapacity | number | 是 | 需要容纳数量 |
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| minimumCapacity | number | 是 | 需要容纳的数量。 |
- 示例: **示例:**
```
let lightWeightMap = new LightWeightMap(); ```
lightWeightMap.increaseCapacityTo(10); let lightWeightMap = new LightWeightMap();
``` lightWeightMap.increaseCapacityTo(10);
```
### get ### get
get(key: K): V; get(key: K): V
获取指定key所对应的value。 获取指定key所对应的value。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| key | K | 是 | 查找的指定key |
- 返回值: | 参数名 | 类型 | 必填 | 说明 |
| 类型 | 说明 | | -------- | -------- | -------- | -------- |
| -------- | -------- | | key | K | 是 | 指定key。 |
| V | 返回key映射的value值 |
- 示例: **返回值:**
```
let lightWeightMap = new LightWeightMap(); | 类型 | 说明 |
lightWeightMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); | -------- | -------- |
lightWeightMap.set("sdfs", 356); | V | 返回key映射的value值。 |
lightWeightMap.get("sdfs");
``` **示例:**
```
let lightWeightMap = new LightWeightMap();
lightWeightMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
lightWeightMap.set("sdfs", 356);
lightWeightMap.get("sdfs");
```
### getIndexOfKey ### getIndexOfKey
getIndexOfKey(key: K): number; getIndexOfKey(key: K): number
查找指定元素第一次出现的下标值,如果没有找到该元素返回-1。
查找指定元素第一次出现的下标值,如果没有找到该元素返回-1。 **参数:**
- 参数: | 参数名 | 类型 | 必填 | 说明 |
| 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- |
| -------- | -------- | -------- | -------- | | key | K | 是 | 被查找的元素。 |
| key | K | 是 | 被查找的元素 |
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- |
| number | 返回指定元素第一次出现时的下标值,查找失败返回-1 |
- 示例: | 类型 | 说明 |
``` | -------- | -------- |
let lightWeightMap = new LightWeightMap(); | number | 返回指定元素第一次出现时的下标值,查找失败返回-1。 |
lightWeightMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
lightWeightMap.set("sdfs", 356); **示例:**
lightWeightMap.getIndexOfKey("sdfs");
``` ```
let lightWeightMap = new LightWeightMap();
lightWeightMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
lightWeightMap.set("sdfs", 356);
lightWeightMap.getIndexOfKey("sdfs");
```
### getIndexOfValue ### getIndexOfValue
getIndexOfValue(value: V): number; getIndexOfValue(value: V): number
查找指定元素第一次出现的下标值,如果没有找到该元素返回-1。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | V | 是 | 被查找的元素。 |
查找指定元素第一次出现的下标值,如果没有找到该元素返回-1。 **返回值:**
- 参数: | 类型 | 说明 |
| 参数名 | 类型 | 必填 | 说明 | | -------- | -------- |
| -------- | -------- | -------- | -------- | | number | 返回指定元素第一次出现时的下标值,查找失败返回-1。 |
| value | V | 是 | 被查找的元素 |
- 返回值: **示例:**
| 类型 | 说明 |
| -------- | -------- |
| number | 返回指定元素第一次出现时的下标值,查找失败返回-1 |
- 示例: ```
``` let lightWeightMap = new LightWeightMap();
let lightWeightMap = new LightWeightMap(); lightWeightMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
lightWeightMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); lightWeightMap.set("sdfs", 356);
lightWeightMap.set("sdfs", 356); lightWeightMap.getIndexOfValue(123);
lightWeightMap.getIndexOfValue(123); ```
```
### getKeyAt ### getKeyAt
getKeyAt(index: number): K; getKeyAt(index: number): K
查找指定下标的元素键值对中key值,否则返回undefined。 查找指定下标的元素键值对中key值,否则返回undefined。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| index | number | 是 | 所查找的下标 | | -------- | -------- | -------- | -------- |
| index | number | 是 | 所查找的下标。 |
**返回值:**
- 返回值: | 类型 | 说明 |
| 类型 | 说明 | | -------- | -------- |
| -------- | -------- | | K | 返回该下标对应的元素键值对中key值。 |
| K | 返回该下标对应的元素键值对中key值 |
- 示例: **示例:**
```
let lightWeightMap = new LightWeightMap(); ```
lightWeightMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); let lightWeightMap = new LightWeightMap();
lightWeightMap.set("sdfs", 356); lightWeightMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
lightWeightMap.getKeyAt(1); lightWeightMap.set("sdfs", 356);
``` lightWeightMap.getKeyAt(1);
```
### setAll ### setAll
setAll(map: LightWeightMap<K, V>): void; setAll(map: LightWeightMap<K, V>): void
将一个LightWeightMap中的所有元素组添加到另一个lightweightmap中。 将一个LightWeightMap中的所有元素组添加到另一个LightWeightMap中。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| map | LightWeightMap<K, V> | 是 | 被添加元素的lightweightmap |
- 示例: | 参数名 | 类型 | 必填 | 说明 |
``` | -------- | -------- | -------- | -------- |
let lightWeightMap = new LightWeightMap(); | map | LightWeightMap<K, V> | 是 | 被添加元素的LightWeightMap。 |
lightWeightMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
lightWeightMap.set("sdfs", 356); **示例:**
let map = new LightWeightMap();
lightWeightMap.setAll(map); ```
``` let lightWeightMap = new LightWeightMap();
lightWeightMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
lightWeightMap.set("sdfs", 356);
let map = new LightWeightMap();
lightWeightMap.setAll(map);
```
### set ### set
set(key: K, value: V): Object; set(key: K, value: V): Object
向LightWeightMap中添加一组数据。 向LightWeightMap中添加一组数据。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| key | K | 是 | 添加成员数据的键名 | | -------- | -------- | -------- | -------- |
| value | V | 是 | 添加成员数据的值 | | key | K | 是 | 添加成员数据的键名。 |
| value | V | 是 | 添加成员数据的值。 |
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- |
| Object | 返回添加后的hashmap |
- 示例: | 类型 | 说明 |
``` | -------- | -------- |
let lightWeightMap = new LightWeightMap(); | Object | 返回添加数据后的hashmap。 |
lightWeightMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
``` **示例:**
```
let lightWeightMap = new LightWeightMap();
lightWeightMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
```
### remove ### remove
remove(key: K): V; remove(key: K): V
删除指定的元素。 删除指定的元素。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| key | K | 是 | 依据key指定删除的元素 | | -------- | -------- | -------- | -------- |
| key | K | 是 | 依据key指定删除的元素。 |
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- |
| V | 返回删除元素的值 |
- 示例: | 类型 | 说明 |
``` | -------- | -------- |
let lightWeightMap = new LightWeightMap(); | V | 返回删除元素的值。 |
lightWeightMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
lightWeightMap.set("sdfs", 356); **示例:**
lightWeightMap.remove("sdfs");
``` ```
let lightWeightMap = new LightWeightMap();
lightWeightMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
lightWeightMap.set("sdfs", 356);
lightWeightMap.remove("sdfs");
```
### removeAt ### removeAt
removeAt(index: number): boolean; removeAt(index: number): boolean
删除指定下标的元素。 删除指定下标的元素。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| index | number | 是 | 指定想要删除元素下标 | | -------- | -------- | -------- | -------- |
| index | number | 是 | 指定想要删除元素下标 |
**返回值:**
- 返回值: | 类型 | 说明 |
| 类型 | 说明 | | -------- | -------- |
| -------- | -------- | | boolean | 成功删除元素返回true,否则返回false。 |
| boolean | 确认是否成功删除元素 |
- 示例: **示例:**
```
let lightWeightMap = new LightWeightMap(); ```
lightWeightMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); let lightWeightMap = new LightWeightMap();
lightWeightMap.set("sdfs", 356); lightWeightMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
lightWeightMap.removeAt(1); lightWeightMap.set("sdfs", 356);
``` lightWeightMap.removeAt(1);
```
### setValueAt ### setValueAt
setValueAt(index: number, newValue: V): boolean; setValueAt(index: number, newValue: V): boolean
向LightWeightMap中具体位置替换键值对中的值。 向LightWeightMap中具体位置替换键值对中的值。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| index | number | 是 | 指定替换数据下标 |
| newValue | V | 是 | 替换键值对中的值 |
- 返回值: | 参数名 | 类型 | 必填 | 说明 |
| 类型 | 说明 | | -------- | -------- | -------- | -------- |
| -------- | -------- | | index | number | 是 | 指定替换数据下标。 |
| boolean | 是否成功替换指定位置数据 | | newValue | V | 是 | 替换键值对中的值。 |
- 示例: **返回值:**
```
let lightWeightMap = new LightWeightMap(); | 类型 | 说明 |
lightWeightMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); | -------- | -------- |
lightWeightMap.set("sdfs", 356); | boolean | 成功替换指定位置数据返回true,否则返回false。 |
lightWeightMap.setValueAt(1, 3546);
``` **示例:**
```
let lightWeightMap = new LightWeightMap();
lightWeightMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
lightWeightMap.set("sdfs", 356);
lightWeightMap.setValueAt(1, 3546);
```
### getValueAt ### getValueAt
getValueAt(index: number): V; getValueAt(index: number): V
获取LightWeightMap中具体位置键值对中的值。 获取LightWeightMap中具体位置键值对中的值。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| index | number | 是 | 指定查询数据下标 | | -------- | -------- | -------- | -------- |
| index | number | 是 | 指定查询数据下标 |
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- |
| V | 返回指定位置中键值对的值 |
- 示例: | 类型 | 说明 |
``` | -------- | -------- |
let lightWeightMap = new LightWeightMap(); | V | 返回指定位置中键值对的值。 |
lightWeightMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
lightWeightMap.set("sdfs", 356); **示例:**
lightWeightMap.getValueAt(1);
``` ```
let lightWeightMap = new LightWeightMap();
lightWeightMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
lightWeightMap.set("sdfs", 356);
lightWeightMap.getValueAt(1);
```
### clear ### clear
clear(): void; clear(): void
清除LightWeightMap中的所有元素,并把length置为0。 清除LightWeightMap中的所有元素,并把length置为0。
- 示例: **示例:**
```
let lightWeightMap = new LightWeightMap(); ```
lightWeightMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); let lightWeightMap = new LightWeightMap();
lightWeightMap.set("sdfs", 356); lightWeightMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
lightWeightMap.clear(); lightWeightMap.set("sdfs", 356);
``` lightWeightMap.clear();
```
### keys ### keys
keys(): IterableIterator&lt;K&gt;; keys(): IterableIterator&lt;K&gt;
返回包含此映射中包含的键的新迭代器对象。 返回包含此映射中包含的键的新迭代器对象。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| IterableIterator&lt;K&gt; | 返回一个迭代器 | | -------- | -------- |
| IterableIterator&lt;K&gt; | 返回一个迭代器。 |
- 示例:
``` **示例:**
let lightWeightMap = new LightWeightMap();
lightWeightMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); ```
lightWeightMap.set("sdfs", 356); let lightWeightMap = new LightWeightMap();
let iter = lightWeightMap.keys(); lightWeightMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
let temp = iter.next().value; lightWeightMap.set("sdfs", 356);
while(temp != undefined) { let iter = lightWeightMap.keys();
let temp = iter.next().value;
while(temp != undefined) {
console.log(temp); console.log(temp);
temp = iter.next().value; temp = iter.next().value;
} }
``` ```
### values ### values
values(): IterableIterator&lt;V&gt;; values(): IterableIterator&lt;V&gt;
返回包含此映射中包含的键的新迭代器对象。 返回包含此映射中包含的键的新迭代器对象。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| IterableIterator&lt;V&gt; | 返回一个迭代器 | | -------- | -------- |
| IterableIterator&lt;V&gt; | 返回一个迭代器。 |
- 示例:
``` **示例:**
let lightWeightMap = new LightWeightMap();
lightWeightMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); ```
lightWeightMap.set("sdfs", 356); let lightWeightMap = new LightWeightMap();
let iter = lightWeightMap.values(); lightWeightMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
let temp = iter.next().value; lightWeightMap.set("sdfs", 356);
while(temp != undefined) { let iter = lightWeightMap.values();
let temp = iter.next().value;
while(temp != undefined) {
console.log(temp); console.log(temp);
temp = iter.next().value; temp = iter.next().value;
} }
``` ```
### forEach ### forEach
forEach(callbackfn: (value: V, key?: K, lightWeightMap?: LightWeightMap<K, V>) => void, thisArg?: Object): void; forEach(callbackfn: (value: V, key?: K, lightWeightMap?: LightWeightMap<K, V>) => void, thisArg?: Object): void
通过回调函数来遍历实例对象上的元素以及元素对应的下标。 通过回调函数来遍历实例对象上的元素以及元素对应的下标。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| callbackfn | function | 是 | 回调函数 | | -------- | -------- | -------- | -------- |
| thisArg | Object | 否 | callbackfn被调用时用作this值 | | callbackfn | function | 是 | 回调函数。 |
| thisArg | Object | 否 | callbackfn被调用时用作this值。 |
- callbackfn的参数说明
| 参数名 | 类型 | 必填 | 说明 | callbackfn的参数说明:
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| value | V | 是 | 当前遍历到的元素键值对的值 | | -------- | -------- | -------- | -------- |
| key | K | 是 | 当前遍历到的元素键值对的键 | | value | V | 是 | 当前遍历到的元素键值对的值。 |
| lightWeightMap | LightWeightMap<K, V> | 否 | 当前调用forEach方法的实例对象 | | key | K | 是 | 当前遍历到的元素键值对的键。 |
| lightWeightMap | LightWeightMap<K, V> | 否 | 当前调用forEach方法的实例对象。 |
- 示例:
``` **示例:**
let lightWeightMap = new LightWeightMap();
lightWeightMap.set("sdfs", 123); ```
lightWeightMap.set("dfsghsf", 357); let lightWeightMap = new LightWeightMap();
lightWeightMap.forEach((value, key) => { lightWeightMap.set("sdfs", 123);
lightWeightMap.set("dfsghsf", 357);
lightWeightMap.forEach((value, key) => {
console.log(value, key); console.log(value, key);
}); });
``` ```
### entries ### entries
entries(): IterableIterator<[K, V]>; entries(): IterableIterator<[K, V]>
返回包含此映射中包含的键的新迭代器对象。 返回包含此映射中包含的键的新迭代器对象。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| IterableIterator<[K, V]> | 返回一个迭代器 | | -------- | -------- |
| IterableIterator<[K, V]> | 返回一个迭代器。 |
- 示例:
``` **示例:**
let lightWeightMap = new LightWeightMap();
lightWeightMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); ```
lightWeightMap.set("sdfs", 356); let lightWeightMap = new LightWeightMap();
let iter = lightWeightMap.entries(); lightWeightMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
let temp = iter.next().value; lightWeightMap.set("sdfs", 356);
while(temp != undefined) { let iter = lightWeightMap.entries();
let temp = iter.next().value;
while(temp != undefined) {
console.log(temp[0]); console.log(temp[0]);
console.log(temp[1]); console.log(temp[1]);
temp = iter.next().value; temp = iter.next().value;
} }
``` ```
### [Symbol.iterator] ### [Symbol.iterator]
[Symbol.iterator]\(): IterableIterator&lt;[K, V]&gt;; [Symbol.iterator]\(): IterableIterator&lt;[K, V]&gt;
返回一个迭代器,迭代器的每一项都是一个 JavaScript 对象,并返回该对象。 返回一个迭代器,迭代器的每一项都是一个 JavaScript 对象,并返回该对象。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| IterableIterator<[K, V]> | 返回一个迭代器 | | -------- | -------- |
| IterableIterator<[K, V]> | 返回一个迭代器。 |
- 示例: **示例:**
```
let lightWeightMap = new LightWeightMap();
lightWeightMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
lightWeightMap.set("sdfs", 356);
// 使用方法一: ```
for (let item of lightWeightMap) { let lightWeightMap = new LightWeightMap();
lightWeightMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
lightWeightMap.set("sdfs", 356);
// 使用方法一:
for (let item of lightWeightMap) {
console.log("key: " + item[0]); console.log("key: " + item[0]);
console.log("value: " + item[1]); console.log("value: " + item[1]);
} }
// 使用方法二: // 使用方法二:
let iter = lightWeightMap[Symbol.iterator](); let iter = lightWeightMap[Symbol.iterator]();
let temp = iter.next().value; let temp = iter.next().value;
while(temp != undefined) { while(temp != undefined) {
console.log(temp[0]); console.log(temp[0]);
console.log(temp[1]); console.log(temp[1]);
temp = iter.next().value; temp = iter.next().value;
} }
``` ```
\ No newline at end of file \ No newline at end of file
...@@ -10,10 +10,9 @@ ...@@ -10,10 +10,9 @@
import LightWeightSet from '@ohos.util.LightWeightSet' import LightWeightSet from '@ohos.util.LightWeightSet'
``` ```
## 系统能力
## 权限 SystemCapability.Utils.Lang
## LightWeightSet ## LightWeightSet
...@@ -22,108 +21,119 @@ import LightWeightSet from '@ohos.util.LightWeightSet' ...@@ -22,108 +21,119 @@ import LightWeightSet from '@ohos.util.LightWeightSet'
| 名称 | 参数类型 | 可读 | 可写 | 说明 | | 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- | -------- |
| length | number | 是 | 否 | LightWeightSet的元素个数 | | length | number | 是 | 否 | LightWeightSet的元素个数 |
### constructor ### constructor
constructor(); constructor()
LightWeightSet的构造函数。 LightWeightSet的构造函数。
- 示例: **示例:**
```
let lightWeightSet = new LightWeightSet(); ```
``` let lightWeightSet = new LightWeightSet();
```
### isEmpty ### isEmpty
isEmpty(): boolean; isEmpty(): boolean
判断该容器是否为空。 判断该容器是否为空。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| boolean | 为空返回true, 不为空返回false | | -------- | -------- |
| boolean | 为空返回true,不为空返回false。 |
- 示例: **示例:**
```
const lightWeightSet = new LightWeightSet(); ```
lightWeightSet.isEmpty(); const lightWeightSet = new LightWeightSet();
``` lightWeightSet.isEmpty();
```
### add ### add
add(value: T): boolean; add(value: T): boolean
向此容器中添加数据。 向此容器中添加数据。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| value | T | 是 | 添加的成员数据 | | -------- | -------- | -------- | -------- |
| value | T | 是 | 添加的成员数据。 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| boolean | 成功添加元素返回true,否则返回false。 |
- 返回值: **示例:**
| 类型 | 说明 |
| -------- | -------- |
| boolean | 是否成功添加元素 |
- 示例: ```
``` let lightWeightSet = new LightWeightSet();
let lightWeightSet = new LightWeightSet(); lightWeightSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
lightWeightSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); ```
```
### addAll ### addAll
addAll(set: LightWeightSet&lt;T&gt;): boolean; addAll(set: LightWeightSet&lt;T&gt;): boolean
将另一个容器中的所有元素组添加到当前容器中。 将另一个容器中的所有元素组添加到当前容器中。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| set | LightWeightSet&lt;T&gt; | 是 | 提供添加元素的lightweightmap | | -------- | -------- | -------- | -------- |
| set | LightWeightSet&lt;T&gt; | 是 | 提供添加元素的LightWeightSet。 |
- 示例: **示例:**
```
let lightWeightSet = new LightWeightSet(); ```
lightWeightSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); let lightWeightSet = new LightWeightSet();
lightWeightSet.add("sdfs"); lightWeightSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
let set = new LightWeightSet(); lightWeightSet.add("sdfs");
set.add("sfage"); let set = new LightWeightSet();
lightWeightSet.addAll(set); set.add("sfage");
``` lightWeightSet.addAll(set);
```
### hasAll ### hasAll
hasAll(set: LightWeightSet&lt;T&gt;): boolean; hasAll(set: LightWeightSet&lt;T&gt;): boolean
判断此容器中是否含有该指定set中的所有元素。 判断此容器中是否含有该指定set中的所有元素。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| set | LightWeightSet&lt;T&gt; | 是 | 比较对象 |
- 返回值: | 参数名 | 类型 | 必填 | 说明 |
| 类型 | 说明 | | -------- | -------- | -------- | -------- |
| -------- | -------- | | set | LightWeightSet&lt;T&gt; | 是 | 比较对象。 |
| boolean | 是否包含所有元素 |
- 示例: **返回值:**
```
let lightWeightSet = new LightWeightSet(); | 类型 | 说明 |
lightWeightSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); | -------- | -------- |
lightWeightSet.add("sdfs"); | boolean | 包含所有元素返回true,否则返回false。 |
let set = new LightWeightSet();
set.add("sdfs"); **示例:**
let result = lightWeightSet.hasAll(set);
``` ```
let lightWeightSet = new LightWeightSet();
lightWeightSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
lightWeightSet.add("sdfs");
let set = new LightWeightSet();
set.add("sdfs");
let result = lightWeightSet.hasAll(set);
```
### has ### has
...@@ -132,332 +142,364 @@ has(value: T): boolean; ...@@ -132,332 +142,364 @@ has(value: T): boolean;
判断此容器中是否含有该指定value。 判断此容器中是否含有该指定value。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | T | 是 | 指定元素 |
- 返回值: | 参数名 | 类型 | 必填 | 说明 |
| 类型 | 说明 | | -------- | -------- | -------- | -------- |
| -------- | -------- | | value | T | 是 | 指定元素 |
| boolean | 是否包含指定元素 |
- 示例: **返回值:**
```
let lightWeightSet = new LightWeightSet(); | 类型 | 说明 |
lightWeightSet.has(123); | -------- | -------- |
lightWeightSet.add(123); | boolean | 包含指定元素返回true,否则返回false。 |
lightWeightSet.has(123);
``` **示例:**
```
let lightWeightSet = new LightWeightSet();
lightWeightSet.has(123);
lightWeightSet.add(123);
lightWeightSet.has(123);
```
### equal ### equal
equal(obj: Object): boolean; equal(obj: Object): boolean
判断此容器中是否含有该指定obj同类型的对象。
判断此容器中是否含有该指定obj同类型。 **参数:**
- 参数: | 参数名 | 类型 | 必填 | 说明 |
| 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- |
| -------- | -------- | -------- | -------- | | obj | Object | 是 | 比较对象。 |
| obj | Object | 是 | 比较对象 |
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- |
| boolean | 是否构成类型相同 |
- 示例: | 类型 | 说明 |
``` | -------- | -------- |
let lightWeightSet = new LightWeightSet(); | boolean | 构成类型相同返回true,否则返回false。 |
lightWeightSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
lightWeightSet.add("sdfs"); **示例:**
let obj = {"Ahfbrgrbgnutfodgorrogorgrogofdfdf", "sdfs"};
let result = lightWeightSet.equal(obj); ```
``` let lightWeightSet = new LightWeightSet();
lightWeightSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
lightWeightSet.add("sdfs");
let obj = {"Ahfbrgrbgnutfodgorrogorgrogofdfdf", "sdfs"};
let result = lightWeightSet.equal(obj);
```
### ensureCapacityTo ### ensureCapacityTo
ensureCapacityTo(minimumCapacity: number): void; ensureCapacityTo(minimumCapacity: number): void
将当前容器扩容至可以容纳指定数量元素。 将当前容器扩容至可以容纳指定数量元素。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| minimumCapacity | number | 是 | 需要容纳数量 |
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| minimumCapacity | number | 是 | 需要容纳数量。 |
- 示例: **示例:**
```
let lightWeightSet = new LightWeightSet(); ```
lightWeightSet.ensureCapacityTo(10); let lightWeightSet = new LightWeightSet();
``` lightWeightSet.ensureCapacityTo(10);
```
### getIndexOf ### getIndexOf
getIndexOf(key: T): number; getIndexOf(key: T): number
获取指定key所对应的下标。 获取指定key所对应的下标。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| key | T | 是 | 查找的指定key | | -------- | -------- | -------- | -------- |
| key | T | 是 | 查找的指定key。 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| number | 在LightWeightSet中指定数据的下标。 |
- 返回值: **示例:**
| 类型 | 说明 |
| -------- | -------- |
| number | 在lightweightset中指定数据的下标 |
- 示例: ```
``` let lightWeightSet = new LightWeightSet();
let lightWeightSet = new LightWeightSet(); lightWeightSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
lightWeightSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); lightWeightSet.add("sdfs");
lightWeightSet.add("sdfs"); lightWeightSet.getIndexOf("sdfs");
lightWeightSet.getIndexOf("sdfs"); ```
```
### remove ### remove
remove(key: T): T; remove(key: T): T
删除指定的元素。 删除指定的元素。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| key | T | 是 | 依据key指定删除的元素 | | -------- | -------- | -------- | -------- |
| key | T | 是 | 依据key指定删除的元素。 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| T | 返回删除元素的值。 |
- 返回值: **示例:**
| 类型 | 说明 |
| -------- | -------- |
| T | 返回删除元素的值 |
- 示例: ```
``` let lightWeightSet = new LightWeightSet();
let lightWeightSet = new LightWeightSet(); lightWeightSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
lightWeightSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); lightWeightSet.add("sdfs");
lightWeightSet.add("sdfs"); lightWeightSet.remove("sdfs");
lightWeightSet.remove("sdfs"); ```
```
### removeAt ### removeAt
removeAt(index: number): boolean; removeAt(index: number): boolean
删除指定下标的元素。 删除指定下标的元素。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| index | number | 是 | 指定想要删除元素下标 | | -------- | -------- | -------- | -------- |
| index | number | 是 | 指定想要删除元素下标。 |
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- |
| boolean | 确认是否成功删除元素 |
- 示例: | 类型 | 说明 |
``` | -------- | -------- |
let lightWeightSet = new LightWeightSet(); | boolean | 确认是否成功删除元素 |
lightWeightSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
lightWeightSet.add("sdfs"); **示例:**
lightWeightSet.removeAt(1);
``` ```
let lightWeightSet = new LightWeightSet();
lightWeightSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
lightWeightSet.add("sdfs");
lightWeightSet.removeAt(1);
```
### getValueAt ### getValueAt
getValueAt(index: number): T; getValueAt(index: number): T
获取此容器中具体位置的元素。
**参数:**
获取此容器中具体位置的元素 | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| index | number | 是 | 指定查询数据下标。 |
- 参数: **返回值:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| index | number | 是 | 指定查询数据下标 |
- 返回值: | 类型 | 说明 |
| 类型 | 说明 | | -------- | -------- |
| -------- | -------- | | T | 返回指定位置中元素。 |
| T | 返回指定位置中元素 |
- 示例: **参数:**
```
let lightWeightSet = new LightWeightSet(); ```
lightWeightSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); let lightWeightSet = new LightWeightSet();
lightWeightSet.add("sdfs"); lightWeightSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
lightWeightSet.getValueAt(1); lightWeightSet.add("sdfs");
``` lightWeightSet.getValueAt(1);
```
### clear ### clear
clear(): void; clear(): void
清除容器中的所有元素,并把length置为0。
清除容器中的所有元素,并把length置为0。 **示例:**
- 示例: ```
``` let lightWeightSet = new LightWeightSet();
let lightWeightSet = new LightWeightSet(); lightWeightSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
lightWeightSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); lightWeightSet.add("sdfs");
lightWeightSet.add("sdfs"); lightWeightSet.clear();
lightWeightSet.clear(); ```
```
### toString ### toString
toString(): String; toString(): String
获取包含容器中所有键和值的字符串。 获取包含容器中所有键和值的字符串。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- |
| String | 返回一个字符串 |
- 示例: | 类型 | 说明 |
``` | -------- | -------- |
let lightWeightSet = new LightWeightSet(); | String | 返回对应字符串。 |
lightWeightSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
lightWeightSet.add("sdfs"); **示例:**
lightWeightSet.toString();
``` ```
let lightWeightSet = new LightWeightSet();
lightWeightSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
lightWeightSet.add("sdfs");
lightWeightSet.toString();
```
### toArray ### toArray
toArray(): Array&lt;T&gt;; toArray(): Array&lt;T&gt;
获取包含此容器中所有对象的数组。 获取包含此容器中所有对象的数组。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| Array&lt;T&gt; | 返回一个数组 | | -------- | -------- |
| Array&lt;T&gt; | 返回对应数组。 |
- 示例: **示例:**
```
let lightWeightSet = new LightWeightSet(); ```
lightWeightSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); let lightWeightSet = new LightWeightSet();
lightWeightSet.add("sdfs"); lightWeightSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
lightWeightSet.toString(); lightWeightSet.add("sdfs");
``` lightWeightSet.toString();
```
### values ### values
values(): IterableIterator&lt;T&gt;; values(): IterableIterator&lt;T&gt;
返回包含此映射中包含的键的新迭代器对象。 返回包含此映射中包含的键的新迭代器对象。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| IterableIterator&lt;T&gt; | 返回一个迭代器 | | -------- | -------- |
| IterableIterator&lt;T&gt; | 返回一个迭代器。 |
- 示例:
``` **示例:**
let lightWeightSet = new LightWeightSet();
lightWeightSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); ```
lightWeightSet.add("sdfs"); let lightWeightSet = new LightWeightSet();
let iter = lightWeightSet.values(); lightWeightSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
let index = 0; lightWeightSet.add("sdfs");
while(index < lightWeightSet.length) { let iter = lightWeightSet.values();
let index = 0;
while(index < lightWeightSet.length) {
console.log(JSON.stringify(iter.next().value)); console.log(JSON.stringify(iter.next().value));
index++; index++;
} }
``` ```
### forEach ### forEach
forEach(callbackfn: (value: T, key?: T, lightWeightSet?: LightWeightSet&lt;T&gt;) => void, thisArg?: Object): void; forEach(callbackfn: (value: T, key?: T, lightWeightSet?: LightWeightSet&lt;T&gt;) => void, thisArg?: Object): void
通过回调函数来遍历LightWeightSet实例对象上的元素以及元素对应的下标。 通过回调函数来遍历LightWeightSet实例对象上的元素以及元素对应的下标。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| callbackfn | function | 是 | 回调函数 | | -------- | -------- | -------- | -------- |
| thisArg | Object | 否 | callbackfn被调用时用作this值 | | callbackfn | function | 是 | 回调函数。 |
| thisArg | Object | 否 | callbackfn被调用时用作this值。 |
- callbackfn的参数说明
| 参数名 | 类型 | 必填 | 说明 | callbackfn的参数说明:
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| value | T | 是 | 当前遍历到的元素 | | -------- | -------- | -------- | -------- |
| key | T | 否 | 当前遍历到的元素(和value相同) | | value | T | 是 | 当前遍历到的元素。 |
| lightWeightSet | LightWeightSet&lt;T&gt; | 否 | 当前调用forEach方法的实例对象 | | key | T | 否 | 当前遍历到的元素(和value相同)。 |
| lightWeightSet | LightWeightSet&lt;T&gt; | 否 | 当前调用forEach方法的实例对象。 |
- 示例:
``` **示例:**
let lightWeightSet = new LightWeightSet();
lightWeightSet.add("sdfs"); ```
lightWeightSet.add("dfsghsf"); let lightWeightSet = new LightWeightSet();
lightWeightSet.forEach((value, key) => { lightWeightSet.add("sdfs");
lightWeightSet.add("dfsghsf");
lightWeightSet.forEach((value, key) => {
console.log(value, key); console.log(value, key);
}); });
``` ```
### entries ### entries
entries(): IterableIterator<[T, T]>; entries(): IterableIterator<[T, T]>
返回包含此映射中包含的键的新迭代器对象。 返回包含此映射中包含的键的新迭代器对象。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| IterableIterator<[T, T]> | 返回一个迭代器 | | -------- | -------- |
| IterableIterator<[T, T]> | 返回一个迭代器。 |
- 示例:
``` **示例:**
let lightWeightSet = new LightWeightSet();
lightWeightSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); ```
lightWeightSet.add("sdfs"); let lightWeightSet = new LightWeightSet();
let iter = lightWeightSet.entries(); lightWeightSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
let index = 0; lightWeightSet.add("sdfs");
while(index < lightWeightSet.length) { let iter = lightWeightSet.entries();
let index = 0;
while(index < lightWeightSet.length) {
console.log(JSON.stringify(iter.next().value)); console.log(JSON.stringify(iter.next().value));
index++; index++;
} }
``` ```
### [Symbol.iterator] ### [Symbol.iterator]
[Symbol.iterator]\(): IterableIterator&lt;T&gt;; [Symbol.iterator]\(): IterableIterator&lt;T&gt;
返回一个迭代器,迭代器的每一项都是一个 JavaScript 对象,并返回该对象。 返回一个迭代器,迭代器的每一项都是一个 JavaScript 对象,并返回该对象。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| IterableIterator&lt;T&gt; | 返回一个迭代器 | | -------- | -------- |
| IterableIterator&lt;T&gt; | 返回一个迭代器。 |
- 示例: **示例:**
```
let lightWeightSet = new LightWeightSet();
lightWeightSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
lightWeightSet.add("sdfs");
// 使用方法一: ```
for (let item of lightWeightSet) { let lightWeightSet = new LightWeightSet();
lightWeightSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
lightWeightSet.add("sdfs");
// 使用方法一:
for (let item of lightWeightSet) {
console.log("value: " + item); console.log("value: " + item);
} }
// 使用方法二: // 使用方法二:
let iter = lightWeightSet[Symbol.iterator](); let iter = lightWeightSet[Symbol.iterator]();
let temp = iter.next().value; let temp = iter.next().value;
while(temp != undefined) { while(temp != undefined) {
console.log(temp); console.log(temp);
temp = iter.next().value; temp = iter.next().value;
} }
``` ```
\ No newline at end of file \ No newline at end of file
...@@ -10,10 +10,9 @@ ...@@ -10,10 +10,9 @@
import LinkedList from '@ohos.util.LinkedList' import LinkedList from '@ohos.util.LinkedList'
``` ```
## 系统能力
## 权限 SystemCapability.Utils.Lang
## LinkedList ## LinkedList
...@@ -23,529 +22,586 @@ import LinkedList from '@ohos.util.LinkedList' ...@@ -23,529 +22,586 @@ import LinkedList from '@ohos.util.LinkedList'
| 名称 | 参数类型 | 可读 | 可写 | 说明 | | 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- | -------- |
| length | number | 是 | 否 | LinkedList的元素个数 | | length | number | 是 | 否 | LinkedList的元素个数 |
### constructor ### constructor
constructor(_head?: NodeObj&lt;T&gt;, _tail?: NodeObj&lt;T&gt;); constructor(_head?: NodeObj&lt;T&gt;, _tail?: NodeObj&lt;T&gt;)
LinkedList的构造函数。 LinkedList的构造函数。
- 参数: **参数:**
| 参数名 | 类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- | | 参数名 | 类型 | 可读 | 可写 | 说明 |
| _head | NodeObj&lt;T&gt; | 是 | 否 | 入参对象,节点对象,含有element,和next指向,和prev指向 | | -------- | -------- | -------- | -------- | -------- |
| _tail | NodeObj&lt;T&gt; | 是 | 否 | 入参对象,节点对象,含有element,和next指向,和prev指向 | | _head | NodeObj&lt;T&gt; | 是 | 否 | 节点对象,含有element、next指向和prev指向。 |
| _tail | NodeObj&lt;T&gt; | 是 | 否 | 节点对象,含有element、next指向和prev指向。 |
- 示例: **示例:**
```
let linkedList = new LinkedList(); ```
``` let linkedList = new LinkedList();
```
### add ### add
add(element: T): boolean; add(element: T): boolean
在LinkedList尾部插入元素。 在LinkedList尾部插入元素。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| element | T | 是 | 添加进去的元素 | | -------- | -------- | -------- | -------- |
| element | T | 是 | 待插入的元素。 |
- 返回值:
| 类型 | 说明 | **返回值:**
| -------- | -------- |
| boolean | 插入成功返回true,失败返回false | | 类型 | 说明 |
| -------- | -------- |
- 示例: | boolean | 插入成功返回true,否则返回false。 |
```
let linkedList = new LinkedList(); **示例:**
linkedList.add("a");
linkedList.add(1); ```
let b = [1, 2, 3]; let linkedList = new LinkedList();
linkedList.add(b); linkedList.add("a");
let c = {name : "lala", age : "13"}; linkedList.add(1);
linkedList.add(false); let b = [1, 2, 3];
``` linkedList.add(b);
let c = {name : "lala", age : "13"};
linkedList.add(false);
```
### addFirst ### addFirst
addFirst(element: T): void; addFirst(element: T): void
在LinkedList头部插入元素。 在LinkedList头部插入元素。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| element | T | 是 | 添加进去的元素 | | -------- | -------- | -------- | -------- |
| element | T | 是 | 待插入的元素。 |
- 示例:
``` **示例:**
let linkedList = new LinkedList();
linkedList.addFirst("a"); ```
linkedList.addFirst(1); let linkedList = new LinkedList();
let b = [1, 2, 3]; linkedList.addFirst("a");
linkedList.addFirst(b); linkedList.addFirst(1);
let c = {name : "lala", age : "13"}; let b = [1, 2, 3];
linkedList.addFirst(false); linkedList.addFirst(b);
``` let c = {name : "lala", age : "13"};
linkedList.addFirst(false);
```
### insert ### insert
insert(element: T, index: number): void; insert(element: T, index: number): void
在长度范围内任意插入指定元素。 在长度范围内任意插入指定元素。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| element | T | 是 | 被插入的元素 | | -------- | -------- | -------- | -------- |
| index | number | 是 | 被插入的位置索引 | | element | T | 是 | 插入元素。 |
| index | number | 是 | 插入位置索引。 |
**示例:**
- 示例: ```
``` let linkedList = new LinkedList();
let linkedList = new LinkedList(); linkedList.insert("A", 0);
linkedList.insert("A", 0); linkedList.insert(0, 1);
linkedList.insert(0, 1); linkedList.insert(true, 2);
linkedList.insert(true, 2); ```
```
### has ### has
has(element: T): boolean; has(element: T): boolean
判断此LinkedList中是否含有该指定元素。 判断此LinkedList中是否含有该指定元素。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| element | T | 是 | 指定元素 |
- 返回值: | 参数名 | 类型 | 必填 | 说明 |
| 类型 | 说明 | | -------- | -------- | -------- | -------- |
| -------- | -------- | | element | T | 是 | 指定元素。 |
| boolean | 是否包含指定元素 |
- 示例: **返回值:**
```
let linkedList = new LinkedList(); | 类型 | 说明 |
linkedList.has("Ahfbrgrbgnutfodgorrogorg"); | -------- | -------- |
linkedList.add("Ahfbrgrbgnutfodgorrogorg"); | boolean | 包含指定元素返回true,否则返回false。 |
linkedList.has("Ahfbrgrbgnutfodgorrogorg");
``` **示例:**
```
let linkedList = new LinkedList();
linkedList.has("Ahfbrgrbgnutfodgorrogorg");
linkedList.add("Ahfbrgrbgnutfodgorrogorg");
linkedList.has("Ahfbrgrbgnutfodgorrogorg");
```
### get ### get
get(index: number): T; get(index: number): T
根据下标获取LinkedList中的元素。 根据下标获取LinkedList中的元素。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| index | number | 是 | 指定的下标值 | | -------- | -------- | -------- | -------- |
| index | number | 是 | 指定的下标值。 |
- 返回值:
| 类型 | 说明 | **返回值:**
| -------- | -------- |
| T | 根据下标查找到的元素 | | 类型 | 说明 |
| -------- | -------- |
- 示例: | T | 根据下标查找到的元素。 |
```
let linkedList = new LinkedList(); **示例:**
linkedList.add(2);
linkedList.add(4); ```
linkedList.add(5); let linkedList = new LinkedList();
linkedList.add(2); linkedList.add(2);
linkedList.add(1); linkedList.add(4);
linkedList.add(2); linkedList.add(5);
linkedList.add(4); linkedList.add(2);
linkedList.get(2); linkedList.add(1);
``` linkedList.add(2);
linkedList.add(4);
linkedList.get(2);
```
### getLastIndexOf ### getLastIndexOf
getLastIndexOf(element: T): number; getLastIndexOf(element: T): number;
返回指定元素最后一次出现时的下标值,查找失败返回-1。 返回指定元素最后一次出现时的下标值,查找失败返回-1。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| element | T | 是 | 指定元素 | | -------- | -------- | -------- | -------- |
| element | T | 是 | 指定元素。 |
- 返回值:
| 类型 | 说明 | **返回值:**
| -------- | -------- |
| number | 返回指定元素最后一次出现时的下标值,查找失败返回-1 | | 类型 | 说明 |
| -------- | -------- |
- 示例: | number | 返回指定元素最后一次出现时的下标值,查找失败返回-1。 |
```
let linkedList = new LinkedList(); **示例:**
linkedList.add(2);
linkedList.add(4); ```
linkedList.add(5); let linkedList = new LinkedList();
linkedList.add(2); linkedList.add(2);
linkedList.add(1); linkedList.add(4);
linkedList.add(2); linkedList.add(5);
linkedList.add(4); linkedList.add(2);
linkedList.getLastIndexOf(2); linkedList.add(1);
``` linkedList.add(2);
linkedList.add(4);
linkedList.getLastIndexOf(2);
```
### getIndexOf ### getIndexOf
getIndexOf(element: T): number; getIndexOf(element: T): number
返回指定元素第一次出现时的下标值,查找失败返回-1。 返回指定元素第一次出现时的下标值,查找失败返回-1。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| element | T | 是 | 指定元素 | | -------- | -------- | -------- | -------- |
| element | T | 是 | 指定元素。 |
- 返回值:
| 类型 | 说明 | **返回值:**
| -------- | -------- |
| number | 返回指定元素第一次出现时的下标值,查找失败返回-1 | | 类型 | 说明 |
| -------- | -------- |
- 示例: | number | 返回指定元素第一次出现时的下标值,查找失败返回-1。 |
```
let linkedList = new LinkedList(); **示例:**
linkedList.add(2);
linkedList.add(4); ```
linkedList.add(5); let linkedList = new LinkedList();
linkedList.add(2); linkedList.add(2);
linkedList.add(1); linkedList.add(4);
linkedList.add(2); linkedList.add(5);
linkedList.add(4); linkedList.add(2);
linkedList.getIndexOf(2); linkedList.add(1);
``` linkedList.add(2);
linkedList.add(4);
linkedList.getIndexOf(2);
```
### removeByIndex ### removeByIndex
removeByIndex(index: number): T; removeByIndex(index: number): T
根据元素的下标值查找元素,返回元素后将其删除。 根据元素的下标值查找元素,返回元素后将其删除。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| index | number | 是 | 指定元素的下标值 | | -------- | -------- | -------- | -------- |
| index | number | 是 | 指定元素的下标值。 |
- 返回值:
| 类型 | 说明 | **返回值:**
| -------- | -------- |
| T | 返回删除的元素 | | 类型 | 说明 |
| -------- | -------- |
- 示例: | T | 返回删除的元素。 |
```
let linkedList = new LinkedList(); **示例:**
linkedList.add(2);
linkedList.add(4); ```
linkedList.add(5); let linkedList = new LinkedList();
linkedList.add(2); linkedList.add(2);
linkedList.add(4); linkedList.add(4);
linkedList.removeByIndex(2); linkedList.add(5);
``` linkedList.add(2);
linkedList.add(4);
linkedList.removeByIndex(2);
```
### removeFirst ### removeFirst
removeFirst(): T; removeFirst(): T
删除并返回LinkedList的第一个元素。 删除并返回LinkedList的第一个元素。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| T | 返回删除的元素 | | -------- | -------- |
| T | 返回删除的元素。 |
- 示例:
``` **示例:**
let linkedList = new LinkedList();
linkedList.add(2); ```
linkedList.add(4); let linkedList = new LinkedList();
linkedList.add(5); linkedList.add(2);
linkedList.add(2); linkedList.add(4);
linkedList.add(4); linkedList.add(5);
linkedList.removeFirst(); linkedList.add(2);
``` linkedList.add(4);
linkedList.removeFirst();
```
### removeLast ### removeLast
removeLst(): T; removeLst(): T
删除并返回LinkedList的最后一个元素。 删除并返回LinkedList的最后一个元素。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| T | 返回删除的元素 | | -------- | -------- |
| T | 返回删除的元素。 |
- 示例:
``` **示例:**
let linkedList = new LinkedList();
linkedList.add(2); ```
linkedList.add(4); let linkedList = new LinkedList();
linkedList.add(5); linkedList.add(2);
linkedList.add(2); linkedList.add(4);
linkedList.add(4); linkedList.add(5);
linkedList.removeLast(); linkedList.add(2);
``` linkedList.add(4);
linkedList.removeLast();
```
### remove ### remove
remove(element: T): boolean; remove(element: T): boolean
删除查找到的第一个指定的元素。 删除指定的元素。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| element | T | 是 | 指定元素 | | -------- | -------- | -------- | -------- |
| element | T | 是 | 指定元素。 |
- 返回值:
| 类型 | 说明 | **返回值:**
| -------- | -------- |
| boolean | 删除成功返回true,失败返回false | | 类型 | 说明 |
| -------- | -------- |
- 示例: | boolean | 删除成功返回true,否则返回false。 |
```
let linkedList = new LinkedList(); **示例:**
linkedList.add(2);
linkedList.add(4); ```
linkedList.add(5); let linkedList = new LinkedList();
linkedList.add(4); linkedList.add(2);
linkedList.remove(2); linkedList.add(4);
``` linkedList.add(5);
linkedList.add(4);
linkedList.remove(2);
```
### removeFirstFound ### removeFirstFound
removeFirstFound(element: T): boolean; removeFirstFound(element: T): boolean
删除第一次出现的指定元素。 删除第一次出现的指定元素。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| element | T | 是 | 指定元素 | | -------- | -------- | -------- | -------- |
| element | T | 是 | 指定元素。 |
- 返回值:
| 类型 | 说明 | **返回值:**
| -------- | -------- |
| boolean | 删除成功返回true,失败返回false | | 类型 | 说明 |
| -------- | -------- |
- 示例: | boolean | 删除成功返回true,否则返回false。 |
```
let linkedList = new LinkedList(); **示例:**
linkedList.add(2);
linkedList.add(4); ```
linkedList.add(5); let linkedList = new LinkedList();
linkedList.add(4); linkedList.add(2);
linkedList.removeFirstFound(4); linkedList.add(4);
``` linkedList.add(5);
linkedList.add(4);
linkedList.removeFirstFound(4);
```
### removeLastFound ### removeLastFound
removeLastFound(element: T): boolean; removeLastFound(element: T): boolean
删除最后一次出现的指定元素。 删除最后一次出现的指定元素。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| element | T | 是 | 指定元素 | | -------- | -------- | -------- | -------- |
| element | T | 是 | 指定元素。 |
- 返回值:
| 类型 | 说明 | **返回值:**
| -------- | -------- |
| boolean | 删除成功返回true,失败返回false | | 类型 | 说明 |
| -------- | -------- |
- 示例: | boolean | 删除成功返回true,否则返回false。 |
```
let linkedList = new LinkedList(); **示例:**
linkedList.add(2);
linkedList.add(4); ```
linkedList.add(5); let linkedList = new LinkedList();
linkedList.add(4); linkedList.add(2);
linkedList.removeLastFound(4); linkedList.add(4);
``` linkedList.add(5);
linkedList.add(4);
linkedList.removeLastFound(4);
```
### clone ### clone
clone(): LinkedList&lt;T&gt;; clone(): LinkedList&lt;T&gt;
克隆一个与LinkedList一模一样的实例,并返回克隆后的实例,修改克隆后的实例并不会影响原实例。 克隆一个与LinkedList相同的实例,并返回克隆后的实例。
- 返回值: 修改克隆后的实例并不会影响原实例。
| 类型 | 说明 |
| -------- | -------- | **返回值:**
| LinkedList&lt;T&gt; | 返回LinkedList对象实例 |
| 类型 | 说明 |
- 示例: | -------- | -------- |
``` | LinkedList&lt;T&gt; | 返回LinkedList对象实例。 |
let linkedList = new LinkedList();
linkedList.add(2); **示例:**
linkedList.add(4);
linkedList.add(5); ```
linkedList.add(4); let linkedList = new LinkedList();
linkedList.clone(); linkedList.add(2);
``` linkedList.add(4);
linkedList.add(5);
linkedList.add(4);
linkedList.clone();
```
### forEach ### forEach
forEach(callbackfn: (value: T, index?: number, linkedlist?: LinkedList&lt;T&gt;) => void, forEach(callbackfn: (value: T, index?: number, linkedlist?: LinkedList&lt;T&gt;) => void,
thisArg?: Object): void; thisArg?: Object): void
通过回调函数来遍历LinkedList实例对象上的元素以及元素对应的下标。 通过回调函数来遍历LinkedList实例对象上的元素以及元素对应的下标。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| callbackfn | function | 是 | 回调函数 | | -------- | -------- | -------- | -------- |
| thisArg | Object | 否 | callbackfn被调用时用作this值 | | callbackfn | function | 是 | 回调函数。 |
| thisArg | Object | 否 | callbackfn被调用时用作this值。 |
- callbackfn的参数说明
callbackfn的参数说明:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| value | T | 是 | 当前遍历到的元素 | | -------- | -------- | -------- | -------- |
| index | number | 否 | 当前遍历到的下标值 | | value | T | 是 | 当前遍历到的元素。 |
| linkedlist | LinkedList&lt;T&gt; | 否 | 当前调用forEach方法的实例对象 | | index | number | 否 | 当前遍历到的下标值。 |
| linkedlist | LinkedList&lt;T&gt; | 否 | 当前调用forEach方法的实例对象。 |
- 示例:
``` **示例:**
let linkedList = new LinkedList();
linkedList.add(2); ```
linkedList.add(4); let linkedList = new LinkedList();
linkedList.add(5); linkedList.add(2);
linkedList.add(4); linkedList.add(4);
linkedList.forEach((value, index) => { linkedList.add(5);
linkedList.add(4);
linkedList.forEach((value, index) => {
console.log(value, index); console.log(value, index);
}); });
``` ```
### clear ### clear
clear(): void; clear(): void
清除LinkedList中的所有元素,并把length置为0。 清除LinkedList中的所有元素,并把length置为0。
- 示例: **示例:**
```
let linkedList = new LinkedList(); ```
linkedList.add(2); let linkedList = new LinkedList();
linkedList.add(4); linkedList.add(2);
linkedList.add(5); linkedList.add(4);
linkedList.add(4); linkedList.add(5);
linkedList.clear(); linkedList.add(4);
``` linkedList.clear();
```
### set ### set
set(index: number, element: T): T; set(index: number, element: T): void
将此 LinkedList 中指定位置的元素替换为指定元素。 将此LinkedList中指定位置的元素替换为指定元素。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| index | number | 是 | 查找的下标值 | | -------- | -------- | -------- | -------- |
| element | T | 是 | 用来替换的元素 | | index | number | 是 | 查找的下标值。 |
| element | T | 是 | 用来替换的元素。 |
- 返回值:
| 类型 | 说明 | **示例:**
| -------- | -------- |
| T | 返回T类型 | ```
let linkedList = new LinkedList();
- 示例: linkedList.add(2);
``` linkedList.add(4);
let linkedList = new LinkedList(); linkedList.add(5);
linkedList.add(2); linkedList.add(4);
linkedList.add(4); linkedList.set(2, "b");
linkedList.add(5); ```
linkedList.add(4);
linkedList.set(2, "b");
```
### convertToArray ### convertToArray
convertToArray(): Array&lt;T&gt;; convertToArray(): Array&lt;T&gt;
把当前LinkedList实例转换成数组,并返回转换后的数组。
把当前LinkedList实例转换成数组,并返回转换后的数组。 **返回值:**
- 返回值: | 类型 | 说明 |
| 类型 | 说明 | | -------- | -------- |
| -------- | -------- | | Array&lt;T&gt; | 返回转换后的数组。 |
| Array&lt;T&gt; | 返回数组类型 |
- 示例: **示例:**
``` ```
let linkedList = new LinkedList(); let linkedList = new LinkedList();
linkedList.add(2); linkedList.add(2);
linkedList.add(4); linkedList.add(4);
linkedList.add(5); linkedList.add(5);
linkedList.add(4); linkedList.add(4);
linkedList.convertToArray(); linkedList.convertToArray();
``` ```
### getFirst ### getFirst
getFirst(): T; getFirst(): T
获取LinkedList实例中的第一个元素。 获取LinkedList实例中的第一个元素。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| T | 返回T型 | | -------- | -------- |
| T | 返回对应元素,如果为空返回undefined。 |
- 示例: **示例:**
```
let linkedList = new LinkedList(); ```
linkedList.add(2); let linkedList = new LinkedList();
linkedList.add(4); linkedList.add(2);
linkedList.add(5); linkedList.add(4);
linkedList.add(4); linkedList.add(5);
linkedList.getFirst(); linkedList.add(4);
``` linkedList.getFirst();
```
### getLast ### getLast
getLast(): T; getLast(): T
获取LinkedList实例中的最后一个元素。 获取LinkedList实例中的最后一个元素。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- |
| T | 返回T型 |
| 类型 | 说明 |
| -------- | -------- |
| T | 返回对应元素,如果为空返回undefined。 |
- 示例: **示例:**
```
let linkedList = new LinkedList();
linkedList.add(2);
linkedList.add(4);
linkedList.add(5);
linkedList.add(4);
linkedList.getLast();
```
### [Symbol.iterator] ```
let linkedList = new LinkedList();
linkedList.add(2);
linkedList.add(4);
linkedList.add(5);
linkedList.add(4);
linkedList.getLast();
```
[Symbol.iterator]\(): IterableIterator&lt;T&gt;; ### [Symbol.iterator]
[Symbol.iterator]\(): IterableIterator&lt;T&gt;;、
返回一个迭代器,迭代器的每一项都是一个 JavaScript 对象,并返回该对象。
返回一个迭代器,迭代器的每一项都是一个 JavaScript 对象,并返回该对象。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- |
| IterableIterator&lt;T&gt; | 返回一个迭代器。 |
| 类型 | 说明 |
| -------- | -------- |
| IterableIterator&lt;T&gt; | 返回一个迭代器。 |
- 示例: **示例:**
```
let linkedList = new LinkedList();
linkedList.add(2);
linkedList.add(4);
linkedList.add(5);
linkedList.add(4);
// 使用方法一: ```
for (let item of linkedList) { let linkedList = new LinkedList();
linkedList.add(2);
linkedList.add(4);
linkedList.add(5);
linkedList.add(4);
// 使用方法一:
for (let item of linkedList) {
console.log(item); console.log(item);
} }
// 使用方法二: // 使用方法二:
let iter = linkedList[Symbol.iterator](); let iter = linkedList[Symbol.iterator]();
let temp = iter.next().value; let temp = iter.next().value;
while(temp != undefined) { while(temp != undefined) {
console.log(temp); console.log(temp);
temp = iter.next().value; temp = iter.next().value;
} }
``` ```
\ No newline at end of file \ No newline at end of file
...@@ -10,10 +10,9 @@ ...@@ -10,10 +10,9 @@
import List from '@ohos.util.List' import List from '@ohos.util.List'
``` ```
## 系统能力
## 权限 SystemCapability.Utils.Lang
## List ## List
...@@ -23,539 +22,589 @@ import List from '@ohos.util.List' ...@@ -23,539 +22,589 @@ import List from '@ohos.util.List'
| 名称 | 参数类型 | 可读 | 可写 | 说明 | | 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- | -------- |
| length | number | 是 | 否 | List的元素个数 | | length | number | 是 | 否 | List的元素个数 |
### constructor ### constructor
constructor(_head?: NodeObj&lt;T&gt;); constructor(_head?: NodeObj&lt;T&gt;)
List的构造函数。 List的构造函数。
- 参数: **参数:**
| 参数名 | 类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- | | 参数名 | 类型 | 可读 | 说明 |
| _head | NodeObj&lt;T&gt; | 是 | 否 | 入参对象,节点对象,含有element,和next指向 | | -------- | -------- | -------- | -------- |
| _head | NodeObj&lt;T&gt; | 是 | 节点对象,含有element、next指向。 |
**示例:**
- 示例: ```
``` let list = new List();
let list = new List(); ```
```
### add ### add
add(element: T): boolean; add(element: T): boolean
在List尾部插入元素。 在List尾部插入元素。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| element | T | 是 | 添加进去的元素 | | -------- | -------- | -------- | -------- |
| element | T | 是 | 添加进去的元素。 |
- 返回值:
| 类型 | 说明 | **返回值:**
| -------- | -------- |
| boolean | 插入成功返回true,失败返回false | | 类型 | 说明 |
| -------- | -------- |
- 示例: | boolean | 插入成功返回true,否则返回false。 |
```
let list = new List; **示例:**
list.add("a");
list.add(1); ```
let b = [1, 2, 3]; let list = new List;
list.add(b); list.add("a");
let c = {name : "lala", age : "13"}; list.add(1);
list.add(false); let b = [1, 2, 3];
``` list.add(b);
let c = {name : "lala", age : "13"};
list.add(false);
```
### insert ### insert
insert(element: T, index: number): void; insert(element: T, index: number): void
在长度范围内任意位置插入指定元素。 在长度范围内任意位置插入指定元素。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| element | T | 是 | 被插入的元素 |
| index | number | 是 | 被插入的位置索引 |
- 示例: | 参数名 | 类型 | 必填 | 说明 |
``` | -------- | -------- | -------- | -------- |
let list = new List(); | element | T | 是 | 插入元素。 |
list.insert("A", 0); | index | number | 是 | 插入的位置索引。 |
list.insert(0, 1);
list.insert(true, 2); **示例:**
```
```
let list = new List();
list.insert("A", 0);
list.insert(0, 1);
list.insert(true, 2);
```
### has ### has
has(element: T): boolean; has(element: T): boolean
判断此List中是否含有该指定元素。 判断此List中是否含有该指定元素。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| element | T | 是 | 指定元素 | | -------- | -------- | -------- | -------- |
| element | T | 是 | 指定元素。 |
**返回值:**
- 返回值: | 类型 | 说明 |
| 类型 | 说明 | | -------- | -------- |
| -------- | -------- | | boolean | 包含指定元素返回true,否则返回false。 |
| boolean | 是否包含指定元素 |
- 示例: **示例:**
```
let list = new List(); ```
list.has("Ahfbrgrbgnutfodgorrogorg"); let list = new List();
list.add("Ahfbrgrbgnutfodgorrogorg"); list.has("Ahfbrgrbgnutfodgorrogorg");
list.has("Ahfbrgrbgnutfodgorrogorg"); list.add("Ahfbrgrbgnutfodgorrogorg");
``` list.has("Ahfbrgrbgnutfodgorrogorg");
```
### get ### get
get(index: number): T; get(index: number): T
根据下标获取List中的元素。 根据下标获取List中的元素。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| index | number | 是 | 要查找的下标 | | -------- | -------- | -------- | -------- |
| index | number | 是 | 要查找的下标。 |
- 返回值:
| 类型 | 说明 | **返回值:**
| -------- | -------- |
| T | 根据下标查找到的元素 | | 类型 | 说明 |
| -------- | -------- |
- 示例: | T | 根据下标查找到的元素。 |
```
let list = new List(); **示例:**
list.add(2);
list.add(4); ```
list.add(5); let list = new List();
list.add(2); list.add(2);
list.add(1); list.add(4);
list.add(2); list.add(5);
list.add(4); list.add(2);
list.get(2); list.add(1);
``` list.add(2);
list.add(4);
list.get(2);
```
### getLastIndexOf ### getLastIndexOf
getLastIndexOf(element: T): number; getLastIndexOf(element: T): number
查找指定元素最后一次出现的下标值,查找失败返回-1。 查找指定元素最后一次出现的下标值,查找失败返回-1。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| element | T | 是 | 指定元素 | | -------- | -------- | -------- | -------- |
| element | T | 是 | 指定元素。 |
- 返回值:
| 类型 | 说明 | **返回值:**
| -------- | -------- |
| number | 查找指定元素最后一次出现的下标值,查找失败返回-1 | | 类型 | 说明 |
| -------- | -------- |
- 示例: | number | 查找指定元素最后一次出现的下标值,查找失败返回-1。 |
```
let list = new List(); **示例:**
list.add(2);
list.add(4); ```
list.add(5); let list = new List();
list.add(2); list.add(2);
list.add(1); list.add(4);
list.add(2); list.add(5);
list.add(4); list.add(2);
list.getLastIndexOf(2); list.add(1);
``` list.add(2);
list.add(4);
list.getLastIndexOf(2);
```
### getIndexOf ### getIndexOf
getIndexOf(element: T): number; getIndexOf(element: T): number
查找指定元素第一次出现的下标值,查找失败返回-1。 查找指定元素第一次出现的下标值,查找失败返回-1。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| element | T | 是 | 指定元素 | | -------- | -------- | -------- | -------- |
| element | T | 是 | 指定元素。 |
- 返回值:
| 类型 | 说明 | **返回值:**
| -------- | -------- |
| number | 返回第一次找到指定元素的下标,没有找到返回-1 | | 类型 | 说明 |
| -------- | -------- |
- 示例: | number | 返回第一次找到指定元素的下标,没有找到返回-1 |
```
let list = new List(); **示例:**
list.add(2);
list.add(4); ```
list.add(5); let list = new List();
list.add(2); list.add(2);
list.add(1); list.add(4);
list.add(2); list.add(5);
list.add(4); list.add(2);
list.getIndexOf(2); list.add(1);
``` list.add(2);
list.add(4);
list.getIndexOf(2);
```
### equal ### equal
equal(obj: Object): boolean; equal(obj: Object): boolean
比较指定对象与此List是否相等。如果对象与此列表相同,返回true,否则返回false。 比较指定对象与此List是否相等。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| obj | Object | 是 | 用来比较的对象 | | -------- | -------- | -------- | -------- |
| obj | Object | 是 | 用来比较的对象。 |
- 返回值:
| 类型 | 说明 | **返回值:**
| -------- | -------- |
| boolean | 返回boolean类型 | | 类型 | 说明 |
| -------- | -------- |
- 示例: | boolean | 如果对象与此列表相同回true,否则返回false。 |
```
let list = new List(); **示例:**
list.add(2);
list.add(4); ```
list.add(5); let list = new List();
list.add(2); list.add(2);
let obj1 = new List(); list.add(4);
obj1.add(2); list.add(5);
obj1.add(4); list.add(2);
obj1.add(5); let obj1 = new List();
list.equal(obj1); obj1.add(2);
let obj2 = {name : "lala", age : "13"}; obj1.add(4);
list.equal(obj2); obj1.add(5);
``` list.equal(obj1);
let obj2 = {name : "lala", age : "13"};
list.equal(obj2);
```
### removeByIndex ### removeByIndex
removeByIndex(index: number): T; removeByIndex(index: number): T
根据元素的下标值查找元素,返回元素后将其删除。 根据元素的下标值查找元素,返回元素后将其删除。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| index | number | 是 | 指定元素的下标值 | | -------- | -------- | -------- | -------- |
| index | number | 是 | 指定元素的下标值。 |
- 返回值:
| 类型 | 说明 | **返回值:**
| -------- | -------- |
| T | 返回删除的元素 | | 类型 | 说明 |
| -------- | -------- |
- 示例: | T | 返回删除的元素。 |
```
let list = new List(); **示例:**
list.add(2);
list.add(4); ```
list.add(5); let list = new List();
list.add(2); list.add(2);
list.add(4); list.add(4);
list.removeByIndex(2); list.add(5);
``` list.add(2);
list.add(4);
list.removeByIndex(2);
```
### remove ### remove
remove(element: T): boolean; remove(element: T): boolean
删除查找到的第一个指定的元素。 删除查找到的第一个指定的元素。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| element | T | 是 | 指定元素 | | -------- | -------- | -------- | -------- |
| element | T | 是 | 指定元素 |
- 返回值:
| 类型 | 说明 | **返回值:**
| -------- | -------- |
| boolean | 删除成功返回true,失败返回false | | 类型 | 说明 |
| -------- | -------- |
- 示例: | boolean | 删除成功返回true,否则返回false。 |
```
let list = new List(); **示例:**
list.add(2);
list.add(4); ```
list.add(5); let list = new List();
list.add(4); list.add(2);
list.remove(2); list.add(4);
``` list.add(5);
list.add(4);
list.remove(2);
```
### replaceAllElements ### replaceAllElements
replaceAllElements(callbackfn: (value: T, index?: number, list?: List&lt;T&gt;) => T, replaceAllElements(callbackfn: (value: T, index?: number, list?: List&lt;T&gt;) => T,
thisArg?: Object): void; thisArg?: Object): void
用户操作List中的元素,用操作后的元素替换原元素并返回操作后的元素。 用户操作List中的元素,用操作后的元素替换原元素并返回操作后的元素。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| callbackfn | function | 是 | 回调函数 | | -------- | -------- | -------- | -------- |
| thisArg | Object | 否 | callbackfn被调用时用作this值 | | callbackfn | function | 是 | 回调函数。 |
| thisArg | Object | 否 | callbackfn被调用时用作this值。 |
- callbackfn的参数说明
callbackfn的参数说明:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| value | T | 是 | 当前遍历到的元素 | | -------- | -------- | -------- | -------- |
| index | number | 否 | 当前遍历到的下标值 | | value | T | 是 | 当前遍历到的元素。 |
| list | List&lt;T&gt; | 否 | 当前调用replaceAllElements方法的实例对象 | | index | number | 否 | 当前遍历到的下标值。 |
| list | List&lt;T&gt; | 否 | 当前调用replaceAllElements方法的实例对象 |
- 示例:
``` **示例:**
let list = new List();
list.add(2); ```
list.add(4); let list = new List();
list.add(5); list.add(2);
list.add(4); list.add(4);
list.replaceAllElements((value, index) => { list.add(5);
list.add(4);
list.replaceAllElements((value, index) => {
return value = 2 * value; return value = 2 * value;
}); });
list.replaceAllElements((value, index) => { list.replaceAllElements((value, index) => {
return value = value - 2; return value = value - 2;
}); });
``` ```
### forEach ### forEach
forEach(callbackfn: (value: T, index?: number, list?: List&lt;T&gt;) => void, forEach(callbackfn: (value: T, index?: number, list?: List&lt;T&gt;) => void,
thisArg?: Object): void; thisArg?: Object): void
通过回调函数来遍历List实例对象上的元素以及元素对应的下标。 通过回调函数来遍历List实例对象上的元素以及元素对应的下标。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| callbackfn | function | 是 | 回调函数 | | -------- | -------- | -------- | -------- |
| thisArg | Object | 否 | callbackfn被调用时用作this值 | | callbackfn | function | 是 | 回调函数 |
| thisArg | Object | 否 | callbackfn被调用时用作this值 |
- callbackfn的参数说明
callbackfn的参数说明:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| value | T | 是 | 当前遍历到的元素。 | | -------- | -------- | -------- | -------- |
| index | number | 否 | 当前遍历到的下标值。 | | value | T | 是 | 当前遍历到的元素。 |
| list | List&lt;T&gt; | 否 | 当前调用forEach方法的实例对象 | | index | number | 否 | 当前遍历到的下标值。 |
| list | List&lt;T&gt; | 否 | 当前调用forEach方法的实例对象 |
- 示例: **示例:**
```
let list = new List(); ```
list.add(2); let list = new List();
list.add(4); list.add(2);
list.add(5); list.add(4);
list.add(4); list.add(5);
list.forEach((value, index) => { list.add(4);
list.forEach((value, index) => {
console.log(value, index); console.log(value, index);
}); });
```
```
### sort ### sort
sort(comparator: (firstValue: T, secondValue: T) => number): void; sort(comparator: (firstValue: T, secondValue: T) => number): void
对List中的元素进行一个排序操作。 对List中的元素进行一个排序操作。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| comparator | function | 是 | 回调函数。 | | -------- | -------- | -------- | -------- |
| comparator | function | 是 | 回调函数。 |
- comparator的参数说明
comparator的参数说明:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| firstValue | T | 是 | 前一项元素 | | -------- | -------- | -------- | -------- |
| secondValue | T | 是 | 后一项元素 | | firstValue | T | 是 | 前一项元素。 |
| secondValue | T | 是 | 后一项元素。 |
- 示例: **示例:**
```
let list = new List(); ```
list.add(2); let list = new List();
list.add(4); list.add(2);
list.add(5); list.add(4);
list.add(4); list.add(5);
list.sort(a, (b => a - b)); list.add(4);
list.sort(a, (b => b - a)); list.sort(a, (b => a - b));
``` list.sort(a, (b => b - a));
```
### getSubList ### getSubList
getSubList(fromIndex: number, toIndex: number): List&lt;T&gt;; getSubList(fromIndex: number, toIndex: number): List&lt;T&gt;
根据下标截取List中的一段元素,并返回这一段List实例,包括起始值但不包括终止值。 根据下标截取List中的一段元素,并返回这一段List实例,包括起始值但不包括终止值。
- 参数:
| 参数名 | 类型 | 必填 | 说明 | **参数:**
| -------- | -------- | -------- | -------- |
| fromIndex | number | 是 | 起始下标 | | 参数名 | 类型 | 必填 | 说明 |
| toIndex | number | 是 | 终止下标 | | -------- | -------- | -------- | -------- |
| fromIndex | number | 是 | 起始下标。 |
- 返回值: | toIndex | number | 是 | 终止下标。 |
| 类型 | 说明 |
| -------- | -------- | **返回值:**
| List&lt;T&gt; | 返回List对象实例 |
| 类型 | 说明 |
- 示例: | -------- | -------- |
``` | List&lt;T&gt; | 返回List对象实例 |
let list = new List();
list.add(2); **示例:**
list.add(4);
list.add(5); ```
list.add(4); let list = new List();
list.subList(2, 4); list.add(2);
list.subList(4, 3); list.add(4);
list.subList(2, 6); list.add(5);
``` list.add(4);
list.subList(2, 4);
list.subList(4, 3);
list.subList(2, 6);
```
### clear ### clear
clear(): void; clear(): void
清除List中的所有元素,并把length置为0。 清除List中的所有元素,并把length置为0。
- 示例: **示例:**
```
let list = new List(); ```
list.add(2); let list = new List();
list.add(4); list.add(2);
list.add(5); list.add(4);
list.add(4); list.add(5);
list.clear(); list.add(4);
``` list.clear();
```
### set ### set
set(index: number, element: T): T; set(index: number, element: T): void
将此 List 中指定位置的元素替换为指定元素。 将此 List 中指定位置的元素替换为指定元素。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| index | number | 是 | 查找的下标值 | | -------- | -------- | -------- | -------- |
| element | T | 是 | 用来替换的元素 | | index | number | 是 | 查找的下标值。 |
| element | T | 是 | 用来替换的元素。 |
- 返回值:
| 类型 | 说明 | **示例:**
| -------- | -------- |
| T | 返回T类型 | ```
let list = new List();
- 示例: list.add(2);
``` list.add(4);
let list = new List(); list.add(5);
list.add(2); list.add(4);
list.add(4); list.set(2, "b");
list.add(5);
list.add(4); ```
list.set(2, "b");
```
### convertToArray ### convertToArray
convertToArray(): Array&lt;T&gt;; convertToArray(): Array&lt;T&gt;
把当前List实例转换成数组,并返回转换后的数组。 把当前List实例转换成数组,并返回转换后的数组。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| Array&lt;T&gt; | 返回数组类型 | | -------- | -------- |
| Array&lt;T&gt; | 返回转换后的数组。 |
- 示例:
``` **示例:**
let list = new List();
list.add(2); ```
list.add(4); let list = new List();
list.add(5); list.add(2);
list.add(4); list.add(4);
list.convertToArray(); list.add(5);
``` list.add(4);
list.convertToArray();
```
### isEmpty ### isEmpty
isEmpty(): boolean; isEmpty(): boolean
判断该List是否为空。 判断该List是否为空。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| boolean | 为空返回true, 不为空返回false | | -------- | -------- |
| boolean | 为空返回true,不为空返回false。 |
- 示例:
``` **示例:**
let list = new List();
list.add(2); ```
list.add(4); let list = new List();
list.add(5); list.add(2);
list.add(4); list.add(4);
list.isEmpty(); list.add(5);
``` list.add(4);
list.isEmpty();
```
### getFirst ### getFirst
getFirst(): T; getFirst(): T
获取List实例中的第一个元素。 获取List实例中的第一个元素。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| T | 返回T型 | | -------- | -------- |
| T | 返回实例的第一个元素。 |
- 示例: **示例:**
```
let list = new Vector(); ```
list.add(2); let list = new Vector();
list.add(4); list.add(2);
list.add(5); list.add(4);
list.add(4); list.add(5);
list.getFirst(); list.add(4);
``` list.getFirst();
```
### getLast ### getLast
getLast(): T; getLast(): T
获取List实例中的最后一个元素。 获取List实例中的最后一个元素。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- |
| T | 返回T型 |
| 类型 | 说明 |
| -------- | -------- |
| T | 返回实例的最后一个元素。 |
- 示例: **示例:**
```
let list = new Vector(); ```
list.add(2); let list = new Vector();
list.add(4); list.add(2);
list.add(5); list.add(4);
list.add(4); list.add(5);
list.getLast(); list.add(4);
``` list.getLast();
```
### [Symbol.iterator] ### [Symbol.iterator]
[Symbol.iterator]\(): IterableIterator&lt;T&gt;; [Symbol.iterator]\(): IterableIterator&lt;T&gt;;
返回一个迭代器,迭代器的每一项都是一个 JavaScript 对象,并返回该对象。 返回一个迭代器,迭代器的每一项都是一个 JavaScript 对象,并返回该对象。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- |
| IterableIterator&lt;T&gt; | 返回一个迭代器。 |
| 类型 | 说明 |
| -------- | -------- |
| IterableIterator&lt;T&gt; | 返回一个迭代器。 |
- 示例: **示例:**
```
let list = new List();
list.add(2);
list.add(4);
list.add(5);
list.add(4);
// 使用方法一: ```
for (let item of list) { let list = new List();
list.add(2);
list.add(4);
list.add(5);
list.add(4);
// 使用方法一:
for (let item of list) {
console.log(item); console.log(item);
} }
// 使用方法二: // 使用方法二:
let iter = list[Symbol.iterator](); let iter = list[Symbol.iterator]();
let temp = iter.next().value; let temp = iter.next().value;
while(temp != undefined) { while(temp != undefined) {
console.log(temp); console.log(temp);
temp = iter.next().value; temp = iter.next().value;
} }
``` ```
\ No newline at end of file \ No newline at end of file
...@@ -10,10 +10,9 @@ ...@@ -10,10 +10,9 @@
import PlainArray from '@ohos.util.PlainArray' import PlainArray from '@ohos.util.PlainArray'
``` ```
## 系统能力
## 权限 SystemCapability.Utils.Lang
## PlainArray ## PlainArray
...@@ -22,231 +21,259 @@ import PlainArray from '@ohos.util.PlainArray' ...@@ -22,231 +21,259 @@ import PlainArray from '@ohos.util.PlainArray'
| 名称 | 参数类型 | 可读 | 可写 | 说明 | | 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- | -------- |
| length | number | 是 | 否 | PlainArray的元素个数 | | length | number | 是 | 否 | PlainArray的元素个数 |
### constructor ### constructor
constructor(); constructor()
PlainArray的构造函数。 PlainArray的构造函数。
- 示例: **示例:**
```
let plainArray = new PlainArray(); ```
``` let plainArray = new PlainArray();
```
### isEmpty ### isEmpty
isEmpty(): boolean; isEmpty(): boolean
判断该容器是否为空。 判断该容器是否为空。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| boolean | 为空返回true, 不为空返回false | | -------- | -------- |
| boolean | 为空返回true, 不为空返回false。 |
- 示例: **示例:**
```
const plainArray = new PlainArray(); ```
plainArray.isEmpty(); const plainArray = new PlainArray();
``` plainArray.isEmpty();
```
### has ### has
has(key: number): boolean; has(key: number): boolean
判断此容器中是否含有该指定key。 判断此容器中是否含有该指定key。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| key | number | 是 | 查询的元素 | | -------- | -------- | -------- | -------- |
| key | number | 是 | 查询的元素。 |
**返回值:**
- 返回值: | 类型 | 说明 |
| 类型 | 说明 | | -------- | -------- |
| -------- | -------- | | boolean | 包含指定元素返回true,否则返回false。 |
| boolean | 是否包含指定元素 |
- 示例: **示例:**
```
let plainArray = new PlainArray(); ```
plainArray.has(1); let plainArray = new PlainArray();
plainArray.add(1, "sddfhf"); plainArray.has(1);
plainArray.has(1); plainArray.add(1, "sddfhf");
``` plainArray.has(1);
```
### get ### get
get(key: number): T; get(key: number): T
获取指定key所对应的value。 获取指定key所对应的value。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| key | number | 是 | 查找的指定key | | -------- | -------- | -------- | -------- |
| key | number | 是 | 查找的指定key。 |
**返回值:**
- 返回值: | 类型 | 说明 |
| 类型 | 说明 | | -------- | -------- |
| -------- | -------- | | T | 返回key映射的value值。 |
| T | 返回key映射的value值 |
- 示例: **示例:**
```
let plainArray = new PlainArray(); ```
plainArray.add(1, "sddfhf"); let plainArray = new PlainArray();
plainArray.add(2, "sffdfhf"); plainArray.add(1, "sddfhf");
plainArray.get(1); plainArray.add(2, "sffdfhf");
``` plainArray.get(1);
```
### getIndexOfKey ### getIndexOfKey
getIndexOfKey(key: number): number; getIndexOfKey(key: number): number;
查找指定元素第一次出现的下标值,如果没有找到该元素返回-1。 查找指定元素第一次出现的下标值如果没有找到该元素返回-1。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| key | number | 是 | 被查找的元素 |
- 返回值: | 参数名 | 类型 | 必填 | 说明 |
| 类型 | 说明 | | -------- | -------- | -------- | -------- |
| -------- | -------- | | key | number | 是 | 被查找的元素。 |
| number | 返回指定元素第一次出现时的下标值,查找失败返回-1 |
- 示例: **返回值:**
```
let plainArray = new PlainArray(); | 类型 | 说明 |
plainArray.add(1, "sddfhf"); | -------- | -------- |
plainArray.add(2, "sffdfhf"); | number | 返回指定元素第一次出现时的下标值,查找失败返回-1。 |
plainArray.getIndexOfKey("sdfs");
``` **示例:**
```
let plainArray = new PlainArray();
plainArray.add(1, "sddfhf");
plainArray.add(2, "sffdfhf");
plainArray.getIndexOfKey("sdfs");
```
### getIndexOfValue ### getIndexOfValue
getIndexOfValue(value: T): number; getIndexOfValue(value: T): number;
查找指定元素第一次出现的下标值,如果没有找到该元素返回-1。 查找指定元素第一次出现的下标值,如果没有找到该元素返回-1。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | T | 是 | 被查找的元素。 |
- 参数: **返回值:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | T | 是 | 被查找的元素 |
- 返回值: | 类型 | 说明 |
| 类型 | 说明 | | -------- | -------- |
| -------- | -------- | | number | 返回指定元素第一次出现时的下标值,查找失败返回-1。 |
| number | 返回指定元素第一次出现时的下标值,查找失败返回-1 |
- 示例: **示例:**
```
let plainArray = new PlainArray(); ```
plainArray.add(1, "sddfhf"); let plainArray = new PlainArray();
plainArray.add(2, "sffdfhf"); plainArray.add(1, "sddfhf");
plainArray.getIndexOfValue("sddfhf"); plainArray.add(2, "sffdfhf");
``` plainArray.getIndexOfValue("sddfhf");
```
### getKeyAt ### getKeyAt
getKeyAt(index: number): number; getKeyAt(index: number): number;
查找指定下标的元素键值对中key值,否则返回undefined 查找指定下标的元素键值对中key值。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| index | number | 是 | 所查找的下标 |
- 返回值: | 参数名 | 类型 | 必填 | 说明 |
| 类型 | 说明 | | -------- | -------- | -------- | -------- |
| -------- | -------- | | index | number | 是 | 所查找的下标。 |
| number | 返回该下标对应的元素键值对中key值 |
- 示例: **返回值:**
```
let plainArray = new PlainArray(); | 类型 | 说明 |
plainArray.add(1, "sddfhf"); | -------- | -------- |
plainArray.add(2, "sffdfhf"); | number | 返回该下标对应的元素键值对中key值,失败返回undefined。 |
plainArray.getKeyAt(1);
``` **示例:**
```
let plainArray = new PlainArray();
plainArray.add(1, "sddfhf");
plainArray.add(2, "sffdfhf");
plainArray.getKeyAt(1);
```
### clone ### clone
clone(): PlainArray&lt;T&gt;; clone(): PlainArray&lt;T&gt;
克隆一个一模一样的实例,并返回克隆后的实例,修改克隆后的实例并不会影响原实例。 克隆一个实例,并返回克隆后的实例。
- 返回值: 修改克隆后的实例并不会影响原实例。
| 类型 | 说明 |
| -------- | -------- |
| PlainArray&lt;T&gt; | 返回新的对象实例 |
- 示例: **返回值:**
```
let plainArray = new ArrayList(); | 类型 | 说明 |
plainArray.add(1, "sddfhf"); | -------- | -------- |
plainArray.add(2, "sffdfhf"); | PlainArray&lt;T&gt; | 返回新的对象实例。 |
let newPlainArray = plainArray.clone();
``` **示例:**
```
let plainArray = new ArrayList();
plainArray.add(1, "sddfhf");
plainArray.add(2, "sffdfhf");
let newPlainArray = plainArray.clone();
```
### add ### add
add(key: number, value: T): boolean; add(key: number, value: T): boolean
向容器中添加一组数据。 向容器中添加一组数据。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| key | number | 是 | 添加成员数据的键名 | | -------- | -------- | -------- | -------- |
| value | T | 是 | 添加成员数据的值 | | key | number | 是 | 添加成员数据的键名。 |
| value | T | 是 | 添加成员数据的值。 |
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- |
| boolean | 确认是否成功添加 |
- 示例: | 类型 | 说明 |
``` | -------- | -------- |
let plainArray = new PlainArray(); | boolean | 成功添加返回true,否则返回false。 |
plainArray.add(1, "sddfhf");
``` **示例:**
```
let plainArray = new PlainArray();
plainArray.add(1, "sddfhf");
```
### remove ### remove
remove(key: number): T; remove(key: number): T
删除指定的元素。 删除指定的元素。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| key | number | 是 | 依据key指定删除的元素 | | -------- | -------- | -------- | -------- |
| key | number | 是 | 根据key删除的指定元素。 |
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- |
| T | 返回删除元素的值 |
- 示例: | 类型 | 说明 |
``` | -------- | -------- |
let plainArray = new PlainArray(); | T | 返回删除元素的值。 |
plainArray.add(1, "sddfhf");
plainArray.add(2, "sffdfhf"); **示例:**
plainArray.remove(2);
``` ```
let plainArray = new PlainArray();
plainArray.add(1, "sddfhf");
plainArray.add(2, "sffdfhf");
plainArray.remove(2);
```
### removeAt ### removeAt
...@@ -255,167 +282,181 @@ removeAt(index: number): boolean; ...@@ -255,167 +282,181 @@ removeAt(index: number): boolean;
删除指定下标的元素。 删除指定下标的元素。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| index | number | 是 | 指定想要删除元素下标 | | -------- | -------- | -------- | -------- |
| index | number | 是 | 指定元素下标。 |
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- |
| boolean | 确认是否成功删除元素 |
- 示例: | 类型 | 说明 |
``` | -------- | -------- |
let plainArray = new PlainArray(); | boolean | 成功删除元素返回true,否则返回false。 |
plainArray.add(1, "sddfhf");
plainArray.add(2, "sffdfhf"); **示例:**
plainArray.removeAt(1);
``` ```
let plainArray = new PlainArray();
plainArray.add(1, "sddfhf");
plainArray.add(2, "sffdfhf");
plainArray.removeAt(1);
```
### removeRangeFrom ### removeRangeFrom
removeRangeFrom(index: number, size: number): number; removeRangeFrom(index: number, size: number): number
删除一定范围内的元素。 删除一定范围内的元素。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| index | number | 是 | 删除元素的起始下标 | | -------- | -------- | -------- | -------- |
| size | number | 是 | 期望删除元素个数 | | index | number | 是 | 删除元素的起始下标。 |
| size | number | 是 | 期望删除元素个数。 |
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- |
| number | 实际删除元素个数 |
- 示例: | 类型 | 说明 |
``` | -------- | -------- |
let plainArray = new PlainArray(); | number | 实际删除元素个数。 |
plainArray.add(1, "sddfhf");
plainArray.add(2, "sffdfhf"); **示例:**
plainArray.removeAt(1, 3);
``` ```
let plainArray = new PlainArray();
plainArray.add(1, "sddfhf");
plainArray.add(2, "sffdfhf");
plainArray.removeAt(1, 3);
```
### setValueAt ### setValueAt
setValueAt(index: number, newValue: T): void; setValueAt(index: number, newValue: T): void
向容器中具体位置替换键值对中的值。 向容器中具体位置替换键值对中的值。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| index | number | 是 | 指定替换数据下标 |
| newValue | T | 是 | 替换键值对中的值 |
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| index | number | 是 | 指定替换数据下标。 |
| newValue | T | 是 | 替换键值对中的值。 |
- 示例: **示例:**
```
let plainArray = new PlainArray(); ```
plainArray.add(1, "sddfhf"); let plainArray = new PlainArray();
plainArray.add(2, "sffdfhf"); plainArray.add(1, "sddfhf");
plainArray.setValueAt(1, 3546); plainArray.add(2, "sffdfhf");
``` plainArray.setValueAt(1, 3546);
```
### toString ### toString
toString(): String; toString(): String
获取包含容器中所有键和值的字符串。 获取包含容器中所有键和值的字符串。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| String | 返回一个字符串 | | -------- | -------- |
| String | 返回对应字符串。 |
- 示例: **示例:**
```
let plainArray = new PlainArray(); ```
plainArray.add(1, "sddfhf"); let plainArray = new PlainArray();
plainArray.add(2, "sffdfhf"); plainArray.add(1, "sddfhf");
plainArray.toString(); plainArray.add(2, "sffdfhf");
``` plainArray.toString();
```
### clear ### clear
clear(): void; clear(): void
清除容器中的所有元素,并把length置为0。 清除容器中的所有元素并把length置为0。
- 示例: **示例:**
```
let plainArray = new PlainArray(); ```
plainArray.add(1, "sddfhf"); let plainArray = new PlainArray();
plainArray.add(2, "sffdfhf"); plainArray.add(1, "sddfhf");
plainArray.clear(); plainArray.add(2, "sffdfhf");
``` plainArray.clear();
```
### forEach ### forEach
forEach(callbackfn: (value: T, key?: number, plainArray?: PlainArray<number, T>) => void, thisArg?: Object): void; forEach(callbackfn: (value: T, key?: number, plainArray?: PlainArray<number, T>) => void, thisArg?: Object): void
通过回调函数来遍历实例对象上的元素以及元素对应的下标。 通过回调函数来遍历实例对象上的元素以及元素对应的下标。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| callbackfn | function | 是 | 回调函数 | | -------- | -------- | -------- | -------- |
| thisArg | Object | 否 | callbackfn被调用时用作this值 | | callbackfn | function | 是 | 回调函数。 |
| thisArg | Object | 否 | callbackfn被调用时用作this值。 |
- callbackfn的参数说明
| 参数名 | 类型 | 必填 | 说明 | callbackfn的参数说明:
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| value | T | 是 | 当前遍历到的元素键值对的值 | | -------- | -------- | -------- | -------- |
| key | number | 是 | 当前遍历到的元素键值对的键 | | value | T | 是 | 当前遍历到的元素键值对的值。 |
| plainArray | PlainArray<number, T> | 否 | 当前调用forEach方法的实例对象 | | key | number | 是 | 当前遍历到的元素键值对的键。 |
| plainArray | PlainArray<number, T> | 否 | 当前调用forEach方法的实例对象。 |
- 示例:
``` **示例:**
let plainArray = new PlainArray();
plainArray.add(1, "sddfhf"); ```
plainArray.add(2, "sffdfhf"); let plainArray = new PlainArray();
plainArray.forEach((value, key) => { plainArray.add(1, "sddfhf");
plainArray.add(2, "sffdfhf");
plainArray.forEach((value, key) => {
console.log(value, key); console.log(value, key);
}); });
``` ```
### [Symbol.iterator] ### [Symbol.iterator]
[Symbol.iterator]\(): IterableIterator&lt;[number, T]&gt;; [Symbol.iterator]\(): IterableIterator&lt;[number, T]&gt;
返回一个迭代器,迭代器的每一项都是一个 JavaScript对象,并返回该对象。 返回一个迭代器,迭代器的每一项都是一个 JavaScript对象并返回该对象。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- |
| IterableIterator<[number, T]> | 返回一个迭代器 |
- 示例: | 类型 | 说明 |
``` | -------- | -------- |
let plainArray = new PlainArray(); | IterableIterator<[number, T]> | 返回一个迭代器。 |
plainArray.add(1, "sddfhf");
plainArray.add(2, "sffdfhf");
// 使用方法一: **示例:**
for (let item of plainArray) {
```
let plainArray = new PlainArray();
plainArray.add(1, "sddfhf");
plainArray.add(2, "sffdfhf");
// 使用方法一:
for (let item of plainArray) {
console.log("index: " + item[0]); console.log("index: " + item[0]);
console.log("value: " + item[1]); console.log("value: " + item[1]);
} }
// 使用方法二: // 使用方法二:
let iter = plainArray[Symbol.iterator](); let iter = plainArray[Symbol.iterator]();
let temp = iter.next().value; let temp = iter.next().value;
while(temp != undefined) { while(temp != undefined) {
console.log(temp[0]); console.log(temp[0]);
console.log(temp[1]); console.log(temp[1]);
temp = iter.next().value; temp = iter.next().value;
} }
``` ```
\ No newline at end of file \ No newline at end of file
...@@ -23,16 +23,18 @@ shutdownDevice(reason: string): void ...@@ -23,16 +23,18 @@ shutdownDevice(reason: string): void
需要权限:ohos.permission.SHUTDOWN 需要权限:ohos.permission.SHUTDOWN
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| reason | string | 是 | 关机原因。 |
- 示例: | 参数名 | 类型 | 必填 | 说明 |
``` | -------- | -------- | -------- | -------- |
power.shutdownDevice("shutdown_test"); | reason | string | 是 | 关机原因。 |
console.info('power_shutdown_device_test success')
``` **示例:**
```
power.shutdownDevice("shutdown_test");
console.info('power_shutdown_device_test success')
```
## power.rebootDevice ## power.rebootDevice
...@@ -43,16 +45,18 @@ rebootDevice(reason: string): void ...@@ -43,16 +45,18 @@ rebootDevice(reason: string): void
需要权限:ohos.permission.REBOOT(重启权限)、ohos.permission.REBOOT_RECOVERY(重启并进入recovery模式的权限) 需要权限:ohos.permission.REBOOT(重启权限)、ohos.permission.REBOOT_RECOVERY(重启并进入recovery模式的权限)
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| reason | string | 是 | 重启原因。 |
- 示例: | 参数名 | 类型 | 必填 | 说明 |
``` | -------- | -------- | -------- | -------- |
power.rebootDevice("reboot_test"); | reason | string | 是 | 重启原因。 |
console.info('power_reboot_device_test success')
``` **示例:**
```
power.rebootDevice("reboot_test");
console.info('power_reboot_device_test success')
```
## power.isScreenOn ## power.isScreenOn
...@@ -61,21 +65,23 @@ isScreenOn(callback: AsyncCallback&lt;boolean&gt;): void ...@@ -61,21 +65,23 @@ isScreenOn(callback: AsyncCallback&lt;boolean&gt;): void
检测当前设备的亮灭屏状态。 检测当前设备的亮灭屏状态。
- 参数: **参数:**
| 类型 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| callback | AsyncCallback&lt;boolean&gt; | 是 | 指定的callback回调方法,用于获取返回值。<br/>callback返回值:亮屏返回true,灭屏返回false。 |
- 示例: | 类型 | 类型 | 必填 | 说明 |
``` | -------- | -------- | -------- | -------- |
power.isScreenOn((error, screenOn) => { | callback | AsyncCallback&lt;boolean&gt; | 是 | 指定的callback回调方法,用于获取返回值。<br/>callback返回值:亮屏返回true,灭屏返回false。 |
**示例:**
```
power.isScreenOn((error, screenOn) => {
if (typeof error === "undefined") { if (typeof error === "undefined") {
console.info('screenOn status is ' + screenOn); console.info('screenOn status is ' + screenOn);
} else { } else {
console.log('error: ' + error); console.log('error: ' + error);
} }
}) })
``` ```
## power.isScreenOn ## power.isScreenOn
...@@ -84,18 +90,19 @@ isScreenOn(): Promise&lt;boolean&gt; ...@@ -84,18 +90,19 @@ isScreenOn(): Promise&lt;boolean&gt;
检测当前设备的亮灭屏状态。 检测当前设备的亮灭屏状态。
- 返回值: **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| Promise&lt;boolean&gt; | Promise实例,用于异步获取返回值,亮屏返回true,灭屏返回false。 | | Promise&lt;boolean&gt; | Promise实例,用于异步获取返回值,亮屏返回true,灭屏返回false。 |
- 示例: **示例:**
```
power.isScreenOn() ```
.then(screenOn => { power.isScreenOn()
.then(screenOn => {
console.info('screenOn status is ' + screenOn); console.info('screenOn status is ' + screenOn);
}) })
.catch(error => { .catch(error => {
console.log('error: ' + error); console.log('error: ' + error);
}) })
``` ```
...@@ -10,6 +10,9 @@ ...@@ -10,6 +10,9 @@
import process from '@ohos.process'; import process from '@ohos.process';
``` ```
## 系统能力
SystemCapability.Utils.Lang
## 属性 ## 属性
...@@ -46,19 +49,21 @@ wait(): Promise&lt;number&gt; ...@@ -46,19 +49,21 @@ wait(): Promise&lt;number&gt;
等待子进程运行结束,返回promise对象,其值为子进程的退出码。 等待子进程运行结束,返回promise对象,其值为子进程的退出码。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| Promise&lt;number&gt; | 异步返回子进程的退出码。 | | -------- | -------- |
| Promise&lt;number&gt; | 异步返回子进程的退出码。 |
- 示例: **示例:**
```
var child = process.runCmd('ls'); ```
var result = child.wait(); var child = process.runCmd('ls');
result.then(val=>{ var result = child.wait();
result.then(val=>{
console.log("result = " + val); console.log("result = " + val);
}) })
``` ```
### getOutput ### getOutput
...@@ -67,19 +72,21 @@ getOutput(): Promise&lt;Uint8Array&gt; ...@@ -67,19 +72,21 @@ getOutput(): Promise&lt;Uint8Array&gt;
获取子进程的标准输出。 获取子进程的标准输出。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| Promise&lt;Uint8Array&gt; | 异步返回标准输出的字节流。 | | -------- | -------- |
| Promise&lt;Uint8Array&gt; | 异步返回标准输出的字节流。 |
**示例:**
- 示例: ```
``` var child = process.runCmd('ls');
var child = process.runCmd('ls'); var result = child.wait();
var result = child.wait(); child.getOutput.then(val=>{
child.getOutput.then(val=>{
console.log("child.getOutput = " + val); console.log("child.getOutput = " + val);
}) })
``` ```
### getErrorOutput ### getErrorOutput
...@@ -88,19 +95,21 @@ getErrorOutput(): Promise&lt;Uint8Array&gt; ...@@ -88,19 +95,21 @@ getErrorOutput(): Promise&lt;Uint8Array&gt;
getErrorOutput函数用来获取子进程的标准错误输出。 getErrorOutput函数用来获取子进程的标准错误输出。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| Promise&lt;Uint8Array&gt; | 异步返回标准错误输出的字节流。 | | -------- | -------- |
| Promise&lt;Uint8Array&gt; | 异步返回标准错误输出的字节流。 |
- 示例: **示例:**
```
var child = process.runCmd('madir test.text'); ```
var result = child.wait(); var child = process.runCmd('madir test.text');
child.getErrorOutput.then(val=>{ var result = child.wait();
child.getErrorOutput.then(val=>{
console.log("child.getErrorOutput= " + val); console.log("child.getErrorOutput= " + val);
}) })
``` ```
### close ### close
...@@ -109,11 +118,12 @@ close(): void ...@@ -109,11 +118,12 @@ close(): void
关闭正在运行的子进程。 关闭正在运行的子进程。
- 示例: **示例:**
```
var child = process.runCmd('sleep 5; ls'); ```
child.close(); var child = process.runCmd('sleep 5; ls');
``` child.close();
```
### kill ### kill
...@@ -122,16 +132,18 @@ kill(signal: number | string): void ...@@ -122,16 +132,18 @@ kill(signal: number | string): void
kill函数用来发送信号给子进程,结束指定进程。 kill函数用来发送信号给子进程,结束指定进程。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| signal | number&nbsp;\|&nbsp;string | 是 | 数字或字符串。 | | -------- | -------- | -------- | -------- |
| signal | number&nbsp;\|&nbsp;string | 是 | 数字或字符串。 |
- 示例: **示例:**
```
var child = process.runCmd('sleep 5; ls'); ```
child.kill(9); var child = process.runCmd('sleep 5; ls');
``` child.kill(9);
```
## process.isIsolatedProcess<sup>8+</sup> ## process.isIsolatedProcess<sup>8+</sup>
...@@ -140,15 +152,17 @@ isIsolatedProcess(): boolean ...@@ -140,15 +152,17 @@ isIsolatedProcess(): boolean
判断进程是否被隔离。 判断进程是否被隔离。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- |
| boolean | 返回判断结果,如果返回true表示进程被隔离。 |
- 示例: | 类型 | 说明 |
``` | -------- | -------- |
var result = process.isIsolatedProcess(); | boolean | 返回判断结果,如果返回true表示进程被隔离。 |
```
**示例:**
```
var result = process.isIsolatedProcess();
```
## process.isAppUid<sup>8+</sup> ## process.isAppUid<sup>8+</sup>
...@@ -157,20 +171,23 @@ isAppUid(v:number): boolean ...@@ -157,20 +171,23 @@ isAppUid(v:number): boolean
判断uid是否属于应用程序。 判断uid是否属于应用程序。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| v | number | 是 | 应用程序的uid。 | | -------- | -------- | -------- | -------- |
| v | number | 是 | 应用程序的uid。 |
**返回值:**
- 返回值: | 类型 | 说明 |
| 类型 | 说明 | | -------- | -------- |
| -------- | -------- | | boolean | 返回判断结果,如果返回true表示为应用程序的uid。|
| boolean | 返回判断结果,如果返回true表示为应用程序的uid。|
- 示例: **示例:**
```
var result = process.isAppUid(688); ```
``` var result = process.isAppUid(688);
```
## process.is64Bit<sup>8+</sup> ## process.is64Bit<sup>8+</sup>
...@@ -179,15 +196,17 @@ is64Bit(): boolean ...@@ -179,15 +196,17 @@ is64Bit(): boolean
判断运行环境是否64位。 判断运行环境是否64位。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| boolean | 返回判断结果,如果返回true表示为64位环境。 | | -------- | -------- |
| boolean | 返回判断结果,如果返回true表示为64位环境。 |
- 示例: **示例:**
```
var ressult = process.is64Bit(); ```
``` var ressult = process.is64Bit();
```
## process.getUidForName<sup>8+</sup> ## process.getUidForName<sup>8+</sup>
...@@ -196,20 +215,23 @@ getUidForName(v:string): number ...@@ -196,20 +215,23 @@ getUidForName(v:string): number
通过进程名获取进程uid。 通过进程名获取进程uid。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| v | string | 是 | 进程名。 |
- 返回值: | 参数名 | 类型 | 必填 | 说明 |
| 类型 | 说明 | | -------- | -------- | -------- | -------- |
| -------- | -------- | | v | string | 是 | 进程名。 |
| number | 返回进程uid。|
- 示例: **返回值:**
```
var pres = process.getUidForName("tool") | 类型 | 说明 |
``` | -------- | -------- |
| number | 返回进程uid。|
**示例:**
```
var pres = process.getUidForName("tool")
```
## process.getThreadPriority<sup>8+</sup> ## process.getThreadPriority<sup>8+</sup>
...@@ -218,21 +240,24 @@ getThreadPriority(v:number): number ...@@ -218,21 +240,24 @@ getThreadPriority(v:number): number
根据指定的tid获取线程优先级。 根据指定的tid获取线程优先级。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| v | number | 是 | 指定的线程tid。 | | -------- | -------- | -------- | -------- |
| v | number | 是 | 指定的线程tid。 |
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- |
| number | 返回线程的优先级。 |
- 示例: | 类型 | 说明 |
``` | -------- | -------- |
var tid = process.getTid(); | number | 返回线程的优先级。 |
var pres = process.getThreadPriority(tid);
``` **示例:**
```
var tid = process.getTid();
var pres = process.getThreadPriority(tid);
```
## process.getStartRealtime<sup>8+</sup> ## process.getStartRealtime<sup>8+</sup>
...@@ -241,15 +266,17 @@ getStartRealtime() :number ...@@ -241,15 +266,17 @@ getStartRealtime() :number
获取从系统启动到进程启动所经过的实时时间(以毫秒为单位)。 获取从系统启动到进程启动所经过的实时时间(以毫秒为单位)。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- |
| number | 返回经过的实时时间。|
- 示例: | 类型 | 说明 |
``` | -------- | -------- |
var realtime = process.getStartRealtime(); | number | 返回经过的实时时间。|
```
**示例:**
```
var realtime = process.getStartRealtime();
```
## process.getPastCputime<sup>8+</sup> ## process.getPastCputime<sup>8+</sup>
...@@ -257,15 +284,17 @@ getPastCputime() :number ...@@ -257,15 +284,17 @@ getPastCputime() :number
获取进程启动到当前时间的CPU时间(以毫秒为单位)。 获取进程启动到当前时间的CPU时间(以毫秒为单位)。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| number | 返回经过的CPU时间。 | | -------- | -------- |
| number | 返回经过的CPU时间。 |
**示例:**
- 示例: ```
``` var result = process.getPastCputime() ;
var result = process.getPastCputime() ; ```
```
## process.getSystemConfig<sup>8+</sup> ## process.getSystemConfig<sup>8+</sup>
...@@ -274,21 +303,24 @@ getSystemConfig(name:number): number ...@@ -274,21 +303,24 @@ getSystemConfig(name:number): number
获取系统配置信息。 获取系统配置信息。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| name | number | 是 | 指定系统配置参数名。 | | -------- | -------- | -------- | -------- |
| name | number | 是 | 指定系统配置参数名。 |
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- |
| number | 返回系统配置信息。 |
- 示例: | 类型 | 说明 |
``` | -------- | -------- |
var _SC_ARG_MAX = 0 | number | 返回系统配置信息。 |
var pres = process.getSystemConfig(_SC_ARG_MAX)
``` **示例:**
```
var _SC_ARG_MAX = 0
var pres = process.getSystemConfig(_SC_ARG_MAX)
```
## process.getEnvironmentVar<sup>8+</sup> ## process.getEnvironmentVar<sup>8+</sup>
...@@ -297,20 +329,23 @@ getEnvironmentVar(name:string): string ...@@ -297,20 +329,23 @@ getEnvironmentVar(name:string): string
用该方法获取环境变量对应的值。 用该方法获取环境变量对应的值。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| name | string | 是 | 环境变量名。 |
- 返回值: | 参数名 | 类型 | 必填 | 说明 |
| 类型 | 说明 | | -------- | -------- | -------- | -------- |
| -------- | -------- | | name | string | 是 | 环境变量名。 |
| string | 返回环境变量名对应的value。 |
- 示例: **返回值:**
```
var pres = process.getEnvironmentVar("PATH") | 类型 | 说明 |
``` | -------- | -------- |
| string | 返回环境变量名对应的value。 |
**示例:**
```
var pres = process.getEnvironmentVar("PATH")
```
## process.runCmd ## process.runCmd
...@@ -319,33 +354,36 @@ runCmd(command: string, options?: { timeout : number, killSignal :number | str ...@@ -319,33 +354,36 @@ runCmd(command: string, options?: { timeout : number, killSignal :number | str
通过runcmd可以fork一个新的进程来运行一段shell,并返回ChildProcess对象。 通过runcmd可以fork一个新的进程来运行一段shell,并返回ChildProcess对象。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| command | string | 是 | shell命令。 | | -------- | -------- | -------- | -------- |
| options | Object | 否 | 相关选项参数。 | | command | string | 是 | shell命令。 |
| options | Object | 否 | 相关选项参数。 |
**表1** options
**表1** options
| 名称 | 参数类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 名称 | 参数类型 | 必填 | 说明 |
| timeout | number | 否 | 子进程运行的ms数,当子进程运行时间超出此时间,则父进程发送killSignal信号给子进程。timeout默认为0。 | | -------- | -------- | -------- | -------- |
| killSignal | number&nbsp;&nbsp;\|&nbsp;string | 否 | 子进程运行时间超出timeout时,父进程发送killSignal&nbsp;信号给子进程。killSignal&nbsp;默认为'SIGTERM'。 | | timeout | number | 否 | 子进程运行的ms数,当子进程运行时间超出此时间,则父进程发送killSignal信号给子进程。timeout默认为0。 |
| maxBuffer | number | 否 | 子进程标准输入输出的最大缓冲区大小,当超出此大小时则终止子进程。maxBuffer默认1024\*1024。 | | killSignal | number&nbsp;&nbsp;\|&nbsp;string | 否 | 子进程运行时间超出timeout时,父进程发送killSignal&nbsp;信号给子进程。killSignal&nbsp;默认为'SIGTERM'。 |
| maxBuffer | number | 否 | 子进程标准输入输出的最大缓冲区大小,当超出此大小时则终止子进程。maxBuffer默认1024\*1024。 |
- 返回值:
| 类型 | 说明 | **返回值:**
| -------- | -------- |
| [ChildProcess](#childprocess) | 子进程对象。 | | 类型 | 说明 |
| -------- | -------- |
- 示例: | [ChildProcess](#childprocess) | 子进程对象。 |
```
var child = process.runCmd('ls', { maxBuffer : 2 }); **示例:**
var result = child.wait();
child.getOutput.then(val=>{ ```
var child = process.runCmd('ls', { maxBuffer : 2 });
var result = child.wait();
child.getOutput.then(val=>{
console.log("child.getOutput = " + val); console.log("child.getOutput = " + val);
}) })
``` ```
## process.abort ## process.abort
...@@ -354,10 +392,11 @@ abort(): void ...@@ -354,10 +392,11 @@ abort(): void
该方法会导致进程立即退出并生成一个核心文件,谨慎使用。 该方法会导致进程立即退出并生成一个核心文件,谨慎使用。
- 示例: **示例:**
```
process.abort(); ```
``` process.abort();
```
## process.on ## process.on
...@@ -366,24 +405,26 @@ on(type: string, listener: EventListener): void ...@@ -366,24 +405,26 @@ on(type: string, listener: EventListener): void
用该方法来存储用户所触发的事件。 用该方法来存储用户所触发的事件。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| type | string | 是 | 存储事件的type。 | | -------- | -------- | -------- | -------- |
| listener | EventListener | 是 | 回调的事件。 | | type | string | 是 | 存储事件的type。 |
| listener | EventListener | 是 | 回调的事件。 |
**表2** EventListener
**表2** EventListener | 名称 | 说明 |
| -------- | -------- |
| EventListener&nbsp;=&nbsp;(evt:&nbsp;Object)&nbsp;=&gt;&nbsp;void | 用户存储的事件。 |
| 名称 | 说明 | **示例:**
| -------- | -------- |
| EventListener&nbsp;=&nbsp;(evt:&nbsp;Object)&nbsp;=&gt;&nbsp;void | 用户存储的事件。 |
- 示例: ```
``` process.on("data", (e)=>{
process.on("data", (e)=>{
console.log("data callback"); console.log("data callback");
}) })
``` ```
## process.off ## process.off
...@@ -392,23 +433,26 @@ off(type: string): boolean ...@@ -392,23 +433,26 @@ off(type: string): boolean
用该方法来删除用户存储的事件。 用该方法来删除用户存储的事件。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| type | string | 是 | 删除事件的type。 | | -------- | -------- | -------- | -------- |
| type | string | 是 | 删除事件的type。 |
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- |
| boolean | 事件是否删除成功。 |
- 示例: | 类型 | 说明 |
``` | -------- | -------- |
process.on("data", (e)=>{ | boolean | 事件是否删除成功。 |
**示例:**
```
process.on("data", (e)=>{
console.log("data callback"); console.log("data callback");
}) })
var result = process.off("data"); var result = process.off("data");
``` ```
## process.exit ## process.exit
...@@ -417,15 +461,17 @@ exit(code: number): void ...@@ -417,15 +461,17 @@ exit(code: number): void
用该方法终止程序,谨慎使用。 用该方法终止程序,谨慎使用。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| code | number | 是 | 进程的退出码。 |
- 示例: | 参数名 | 类型 | 必填 | 说明 |
``` | -------- | -------- | -------- | -------- |
process.exit(0); | code | number | 是 | 进程的退出码。 |
```
**示例:**
```
process.exit(0);
```
## process.cwd ## process.cwd
...@@ -434,10 +480,11 @@ cwd(): string ...@@ -434,10 +480,11 @@ cwd(): string
用该方法获取进程的工作目录。 用该方法获取进程的工作目录。
- 示例: **示例:**
```
var path = process.cwd(); ```
``` var path = process.cwd();
```
## process.chdir ## process.chdir
...@@ -446,15 +493,17 @@ chdir(dir: string): void ...@@ -446,15 +493,17 @@ chdir(dir: string): void
用该方法更改进程的当前工作目录。 用该方法更改进程的当前工作目录。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| dir | string | 是 | 路径。 |
- 示例: | 参数名 | 类型 | 必填 | 说明 |
``` | -------- | -------- | -------- | -------- |
process.chdir('/system'); | dir | string | 是 | 路径。 |
```
**示例:**
```
process.chdir('/system');
```
## process.uptime ## process.uptime
...@@ -463,15 +512,17 @@ uptime(): number ...@@ -463,15 +512,17 @@ uptime(): number
获取当前系统已运行的秒数。 获取当前系统已运行的秒数。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| number | 当前系统已运行的秒数。 | | -------- | -------- |
| number | 当前系统已运行的秒数。 |
- 示例: **示例:**
```
var time = process.uptime(); ```
``` var time = process.uptime();
```
## process.kill ## process.kill
...@@ -480,19 +531,21 @@ kill(pid: number,signal: number ): boolean ...@@ -480,19 +531,21 @@ kill(pid: number,signal: number ): boolean
用该方法发送signal到指定的进程,结束指定进程。 用该方法发送signal到指定的进程,结束指定进程。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| pid | number | 是 | 进程的id。 | | -------- | -------- | -------- | -------- |
| signal | number | 是 | 发送的信号。 | | pid | number | 是 | 进程的id。 |
| signal | number | 是 | 发送的信号。 |
- 返回值:
| 类型 | 说明 | **返回值:**
| -------- | -------- |
| boolean | 信号是否发送成功。 | | 类型 | 说明 |
| -------- | -------- |
- 示例: | boolean | 信号是否发送成功。 |
```
var pres = process.pid **示例:**
var result = that.kill(pres, 28) ```
``` var pres = process.pid
var result = that.kill(pres, 28)
```
...@@ -10,10 +10,9 @@ ...@@ -10,10 +10,9 @@
import Queue from '@ohos.util.Queue' import Queue from '@ohos.util.Queue'
``` ```
## 系统能力
## 权限 SystemCapability.Utils.Lang
## Queue ## Queue
...@@ -23,48 +22,51 @@ import Queue from '@ohos.util.Queue' ...@@ -23,48 +22,51 @@ import Queue from '@ohos.util.Queue'
| 名称 | 参数类型 | 可读 | 可写 | 说明 | | 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- | -------- |
| length | number | 是 | 否 | Queue的元素个数 | | length | number | 是 | 否 | Queue的元素个数 |
### constructor ### constructor
constructor(); constructor()
Queue的构造函数。 Queue的构造函数。
**示例:**
- 示例: ```
``` let queue = new Queue();
let queue = new Queue(); ```
```
### add ### add
add(element: T): boolean; add(element: T): boolean
在队列尾部插入元素。 在队列尾部插入元素。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| element | T | 是 | 添加进去的元素 | | -------- | -------- | -------- | -------- |
| element | T | 是 | 添加进去的元素。 |
- 返回值:
| 类型 | 说明 | **返回值:**
| -------- | -------- |
| boolean | 插入成功返回true,失败返回false | | 类型 | 说明 |
| -------- | -------- |
- 示例: | boolean | 插入成功返回true,否则返回false。 |
```
let queue = new Queue(); **示例:**
queue.add("a");
queue.add(1); ```
let b = [1, 2, 3]; let queue = new Queue();
queue.add(b); queue.add("a");
let c = {name : "lala", age : "13"}; queue.add(1);
queue.add(false); let b = [1, 2, 3];
``` queue.add(b);
let c = {name : "lala", age : "13"};
queue.add(false);
```
### pop ### pop
...@@ -72,109 +74,113 @@ pop(): T ...@@ -72,109 +74,113 @@ pop(): T
删除头元素并返回该删除元素。 删除头元素并返回该删除元素。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| T | 返回删除的元素 | | -------- | -------- |
| T | 返回删除的元素。 |
- 示例:
``` **示例:**
let queue = new Queue();
queue.add(2); ```
queue.add(4); let queue = new Queue();
queue.add(5); queue.add(2);
queue.add(2); queue.add(4);
queue.add(4); queue.add(5);
queue.pop(); queue.add(2);
``` queue.add(4);
queue.pop();
```
### getFirst ### getFirst
getFirst(): T; getFirst(): T
获取队列的头元素。 获取队列的头元素。
- 返回值: **参数:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| T | 返回尾元素 | | -------- | -------- |
| T | 返回获取的元素。 |
- 示例:
``` **示例:**
let queue = new Queue();
queue.add(2); ```
queue.add(4); let queue = new Queue();
queue.add(5); queue.add(2);
queue.add(2); queue.add(4);
queue.getFirst(); queue.add(5);
``` queue.add(2);
queue.getFirst();
```
### forEach ### forEach
forEach(callbackfn: (value: T, index?: number, queue?: Queue&lt;T&gt;) => void, forEach(callbackfn: (value: T, index?: number, queue?: Queue&lt;T&gt;) => void,
thisArg?: Object): void; thisArg?: Object): void
通过回调函数来遍历Queue实例对象上的元素以及元素对应的下标。 通过回调函数来遍历Queue实例对象上的元素以及元素对应的下标。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| callbackfn | function | 是 | 回调函数。 | | -------- | -------- | -------- | -------- |
| thisArg | Object | 否 | callbackfn被调用时用作this值 | | callbackfn | function | 是 | 回调函数。 |
| thisArg | Object | 否 | callbackfn被调用时用作this值。 |
- callbackfn的参数说明
callbackfn的参数说明:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| value | T | 是 | 当前遍历到的元素 | | -------- | -------- | -------- | -------- |
| index | number | 否 | 当前遍历到的下标值 | | value | T | 是 | 当前遍历到的元素 |
| queue | Queue&lt;T&gt; | 否 | 当前调用forEach方法的实例对象 | | index | number | 否 | 当前遍历到的下标值 |
| queue | Queue&lt;T&gt; | 否 | 当前调用forEach方法的实例对象 |
- 示例: **示例:**
```
let queue = new Queue(); ```
queue.add(2); let queue = new Queue();
queue.add(4); queue.add(2);
queue.add(5); queue.add(4);
queue.add(4); queue.add(5);
queue.forEach((value, index) => { queue.add(4);
queue.forEach((value, index) => {
console.log(value, index); console.log(value, index);
}); });
``` ```
### [Symbol.iterator] ### [Symbol.iterator]
[Symbol.iterator]\(): IterableIterator&lt;T&gt;; [Symbol.iterator]\(): IterableIterator&lt;T&gt;
返回一个迭代器,迭代器的每一项都是一个 JavaScript 对象,并返回该对象。 返回一个迭代器,迭代器的每一项都是一个 JavaScript 对象,并返回该对象。
**返回值:**
- 返回值: | 类型 | 说明 |
| 类型 | 说明 | | -------- | -------- |
| -------- | -------- | | IterableIterator&lt;T&gt; | 返回一个迭代器 |
| IterableIterator&lt;T&gt; | 返回一个迭代器 |
- 示例: **示例:**
``` ```
let queue = new Queue(); let queue = new Queue();
queue.add(2); queue.add(2);
queue.add(4); queue.add(4);
queue.add(5); queue.add(5);
queue.add(4); queue.add(4);
// 使用方法一: // 使用方法一:
for (let item of queue) { for (let item of queue) {
console.log(item); console.log(item);
} }
// 使用方法二: // 使用方法二:
let iter = queue[Symbol.iterator](); let iter = queue[Symbol.iterator]();
let temp = iter.next().value; let temp = iter.next().value;
while(temp != undefined) { while(temp != undefined) {
console.log(temp); console.log(temp);
temp = iter.next().value; temp = iter.next().value;
} }
``` ```
\ No newline at end of file \ No newline at end of file
...@@ -19,21 +19,21 @@ getRadioTech\(slotId: number, callback: AsyncCallback<\{psRadioTech: RadioTechno ...@@ -19,21 +19,21 @@ getRadioTech\(slotId: number, callback: AsyncCallback<\{psRadioTech: RadioTechno
需要ohos.permission.GET\_NETWORK\_INFO权限。 需要ohos.permission.GET\_NETWORK\_INFO权限。
- 参数 **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------ | ---- | -------------------------------------- | | -------- | ------------------------------------------------------------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 | | slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
| callback | AsyncCallback\<{psRadioTech: [RadioTechnology](#RadioTechnology), csRadioTech:[RadioTechnology](#RadioTechnology)}\> | 是 | 回调函数。 | | callback | AsyncCallback\<{psRadioTech: [RadioTechnology](#RadioTechnology), csRadioTech:[RadioTechnology](#RadioTechnology)}\> | 是 | 回调函数。 |
- 示例 **示例:**
``` ```
let slotId = 0; let slotId = 0;
radio.getRadioTech(slotId, (err, data) =>{ radio.getRadioTech(slotId, (err, data) =>{
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
}); });
``` ```
## radio.getRadioTech<a name=radio.getRadioTech-promise></a> ## radio.getRadioTech<a name=radio.getRadioTech-promise></a>
...@@ -44,29 +44,29 @@ getRadioTech\(slotId: number\): Promise<\{psRadioTech: RadioTechnology, csRadioT ...@@ -44,29 +44,29 @@ getRadioTech\(slotId: number\): Promise<\{psRadioTech: RadioTechnology, csRadioT
需要ohos.permission.GET\_NETWORK\_INFO权限。 需要ohos.permission.GET\_NETWORK\_INFO权限。
- 参数 **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- | | ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 | | slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
- 返回值 **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| ------------------------------------------------------------ | ----------------------------------------------- | | ------------------------------------------------------------ | ----------------------------------------------- |
| Promise<{psRadioTech: [RadioTechnology](#RadioTechnology), csRadioTech: [RadioTechnology](#RadioTechnology)}> | 以Promise形式返回获取当前接入的CS域和PS域技术。 | | Promise<{psRadioTech: [RadioTechnology](#RadioTechnology), csRadioTech: [RadioTechnology](#RadioTechnology)}> | 以Promise形式返回获取当前接入的CS域和PS域技术。 |
- 示例 **示例:**
``` ```
let slotId = 0; let slotId = 0;
let promise = radio.getRadioTech(slotId); let promise = radio.getRadioTech(slotId);
promise.then(data => { promise.then(data => {
console.log(`getRadioTech success, data->${JSON.stringify(data)}`); console.log(`getRadioTech success, data->${JSON.stringify(data)}`);
}).catch(err => { }).catch(err => {
console.log(`getRadioTech fail, err->${JSON.stringify(err)}`); console.log(`getRadioTech fail, err->${JSON.stringify(err)}`);
}); });
``` ```
## radio.getNetworkState<a name=radio.getNetworkState-callback1></a> ## radio.getNetworkState<a name=radio.getNetworkState-callback1></a>
...@@ -77,19 +77,19 @@ getNetworkState\(callback: AsyncCallback<NetworkState\>\): void ...@@ -77,19 +77,19 @@ getNetworkState\(callback: AsyncCallback<NetworkState\>\): void
需要ohos.permission.GET\_NETWORK\_INFO权限。 需要ohos.permission.GET\_NETWORK\_INFO权限。
- 参数 **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------------------- | ---- | ---------- | | -------- | ---------------------------------------------- | ---- | ---------- |
| callback | AsyncCallback\<[NetworkState](#NetworkState)\> | 是 | 回调函数。 | | callback | AsyncCallback\<[NetworkState](#NetworkState)\> | 是 | 回调函数。 |
- 示例 **示例:**
``` ```
radio.getNetworkState((err, data) =>{ radio.getNetworkState((err, data) =>{
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
}); });
``` ```
## radio.getNetworkState<a name=radio.getNetworkState-callback2></a> ## radio.getNetworkState<a name=radio.getNetworkState-callback2></a>
...@@ -100,21 +100,21 @@ getNetworkState\(slotId: number, callback: AsyncCallback<NetworkState\>\): void ...@@ -100,21 +100,21 @@ getNetworkState\(slotId: number, callback: AsyncCallback<NetworkState\>\): void
需要ohos.permission.GET\_NETWORK\_INFO权限。 需要ohos.permission.GET\_NETWORK\_INFO权限。
- 参数 **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------------------- | ---- | -------------------------------------- | | -------- | ---------------------------------------------- | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 | | slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
| callback | AsyncCallback\<[NetworkState](#NetworkState)\> | 是 | 回调函数。 | | callback | AsyncCallback\<[NetworkState](#NetworkState)\> | 是 | 回调函数。 |
- 示例 **示例:**
``` ```
let slotId = 0; let slotId = 0;
radio.getNetworkState(slotId, (err, data) => { radio.getNetworkState(slotId, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
}); });
``` ```
## radio.getNetworkState<a name=radio.getNetworkState-promise></a> ## radio.getNetworkState<a name=radio.getNetworkState-promise></a>
...@@ -125,29 +125,29 @@ getNetworkState\(slotId?: number\): Promise<NetworkState\> ...@@ -125,29 +125,29 @@ getNetworkState\(slotId?: number\): Promise<NetworkState\>
需要ohos.permission.GET\_NETWORK\_INFO权限。 需要ohos.permission.GET\_NETWORK\_INFO权限。
- 参数 **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- | | ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 否 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 | | slotId | number | 否 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
- 返回值 **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| ---------------------------------------- | --------------------------- | | ---------------------------------------- | --------------------------- |
| Promise\<[NetworkState](#NetworkState)\> | 以Promise形式返回网络状态。 | | Promise\<[NetworkState](#NetworkState)\> | 以Promise形式返回网络状态。 |
- 示例 **示例:**
``` ```
let slotId = 0; let slotId = 0;
let promise = radio.getNetworkState(slotId); let promise = radio.getNetworkState(slotId);
promise.then(data => { promise.then(data => {
console.log(`getNetworkState success, promise: data->${JSON.stringify(data)}`); console.log(`getNetworkState success, promise: data->${JSON.stringify(data)}`);
}).catch(err => { }).catch(err => {
console.log(`getNetworkState fail, promise: err->${JSON.stringify(err)}`); console.log(`getNetworkState fail, promise: err->${JSON.stringify(err)}`);
}); });
``` ```
## radio.getNetworkSelectionMode<a name=radio.getNetworkSelectionMode-callback></a> ## radio.getNetworkSelectionMode<a name=radio.getNetworkSelectionMode-callback></a>
...@@ -156,21 +156,21 @@ getNetworkSelectionMode\(slotId: number, callback: AsyncCallback<NetworkSelectio ...@@ -156,21 +156,21 @@ getNetworkSelectionMode\(slotId: number, callback: AsyncCallback<NetworkSelectio
获取当前选网模式,使用callback方式作为异步方法。 获取当前选网模式,使用callback方式作为异步方法。
- 参数 **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------ | ---- | -------------------------------------- | | -------- | ------------------------------------------------------------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 | | slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
| callback | AsyncCallback\<[NetworkSelectionMode](#NetworkSelectionMode)\> | 是 | 回调函数。 | | callback | AsyncCallback\<[NetworkSelectionMode](#NetworkSelectionMode)\> | 是 | 回调函数。 |
- 示例 **示例:**
``` ```
let slotId = 0; let slotId = 0;
radio.getNetworkSelectionMode(slotId, (err, data) => { radio.getNetworkSelectionMode(slotId, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
}); });
``` ```
## radio.getNetworkSelectionMode<a name=radio.getNetworkSelectionMode-promise></a> ## radio.getNetworkSelectionMode<a name=radio.getNetworkSelectionMode-promise></a>
...@@ -179,29 +179,29 @@ getNetworkSelectionMode\(slotId: number\): Promise<NetworkSelectionMode\> ...@@ -179,29 +179,29 @@ getNetworkSelectionMode\(slotId: number\): Promise<NetworkSelectionMode\>
获取当前选网模式,使用Promise方式作为异步方法。 获取当前选网模式,使用Promise方式作为异步方法。
- 参数 **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- | | ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 | | slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
- 返回值 **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| -------------------------------------------------------- | ------------------------------- | | -------------------------------------------------------- | ------------------------------- |
| Promise\<[NetworkSelectionMode](#NetworkSelectionMode)\> | 以Promise形式返回当前选网模式。 | | Promise\<[NetworkSelectionMode](#NetworkSelectionMode)\> | 以Promise形式返回当前选网模式。 |
- 示例 **示例:**
``` ```
let slotId = 0; let slotId = 0;
let promise = radio.getNetworkSelectionMode(slotId); let promise = radio.getNetworkSelectionMode(slotId);
promise.then(data => { promise.then(data => {
console.log(`getNetworkSelectionMode success, promise: data->${JSON.stringify(data)}`); console.log(`getNetworkSelectionMode success, promise: data->${JSON.stringify(data)}`);
}).catch(err => { }).catch(err => {
console.log(`getNetworkSelectionMode fail, promise: err->${JSON.stringify(err)}`); console.log(`getNetworkSelectionMode fail, promise: err->${JSON.stringify(err)}`);
}); });
``` ```
## radio.getISOCountryCodeForNetwork<sup>7+</sup><a name=radio.getISOCountryCodeForNetwork-callback></a> ## radio.getISOCountryCodeForNetwork<sup>7+</sup><a name=radio.getISOCountryCodeForNetwork-callback></a>
...@@ -210,21 +210,21 @@ getISOCountryCodeForNetwork\(slotId: number, callback: AsyncCallback<string\>\): ...@@ -210,21 +210,21 @@ getISOCountryCodeForNetwork\(slotId: number, callback: AsyncCallback<string\>\):
获取注册网络所在国家的ISO国家码,使用callback方式作为异步方法。 获取注册网络所在国家的ISO国家码,使用callback方式作为异步方法。
- 参数 **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------- | ---- | ---------------------------------------- | | -------- | ----------------------- | ---- | ---------------------------------------- |
| slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 | | slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
| callback | AsyncCallback\<string\> | 是 | 回调函数。返回国家码,例如:CN(中国)。 | | callback | AsyncCallback\<string\> | 是 | 回调函数。返回国家码,例如:CN(中国)。 |
- 示例 **示例:**
``` ```
let slotId = 0; let slotId = 0;
radio.getISOCountryCodeForNetwork(slotId, (err, data) => { radio.getISOCountryCodeForNetwork(slotId, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
}); });
``` ```
## radio.getISOCountryCodeForNetwork<sup>7+</sup><a name=radio.getISOCountryCodeForNetwork-promise></a> ## radio.getISOCountryCodeForNetwork<sup>7+</sup><a name=radio.getISOCountryCodeForNetwork-promise></a>
...@@ -233,29 +233,29 @@ getISOCountryCodeForNetwork\(slotId: number\): Promise<string\> ...@@ -233,29 +233,29 @@ getISOCountryCodeForNetwork\(slotId: number\): Promise<string\>
获取注册网络所在国家的ISO国家码,使用Promise方式作为异步方法。 获取注册网络所在国家的ISO国家码,使用Promise方式作为异步方法。
- 参数 **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- | | ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 | | slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
- 返回值 **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| ----------------- | ------------------------------------------------------------ | | ----------------- | ------------------------------------------------------------ |
| Promise\<string\> | 以Promise形式返回注册网络所在国家的ISO国家码,例如CN(中国)。 | | Promise\<string\> | 以Promise形式返回注册网络所在国家的ISO国家码,例如CN(中国)。 |
- 示例 **示例:**
``` ```
let slotId = 0; let slotId = 0;
let promise = radio.getISOCountryCodeForNetwork(slotId); let promise = radio.getISOCountryCodeForNetwork(slotId);
promise.then(data => { promise.then(data => {
console.log(`getISOCountryCodeForNetwork success, promise: data->${JSON.stringify(data)}`); console.log(`getISOCountryCodeForNetwork success, promise: data->${JSON.stringify(data)}`);
}).catch(err => { }).catch(err => {
console.log(`getISOCountryCodeForNetwork fail, promise: err->${JSON.stringify(err)}`); console.log(`getISOCountryCodeForNetwork fail, promise: err->${JSON.stringify(err)}`);
}); });
``` ```
## radio.getSignalInformation<a name=radio.getSignalInformation-callback></a> ## radio.getSignalInformation<a name=radio.getSignalInformation-callback></a>
...@@ -264,21 +264,21 @@ getSignalInformation\(slotId: number, callback: AsyncCallback<Array<SignalInform ...@@ -264,21 +264,21 @@ getSignalInformation\(slotId: number, callback: AsyncCallback<Array<SignalInform
获取指定SIM卡槽对应的注册网络信号强度信息列表,使用callback方式作为异步方法。 获取指定SIM卡槽对应的注册网络信号强度信息列表,使用callback方式作为异步方法。
- 参数 **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 | | slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
| callback | AsyncCallback\<Array\<[SignalInformation](#SignalInformation)\>\> | 是 | 回调函数,返回[SignalInformation](#SignalInformation)对象的数组。 | | callback | AsyncCallback\<Array\<[SignalInformation](#SignalInformation)\>\> | 是 | 回调函数,返回[SignalInformation](#SignalInformation)对象的数组。 |
- 示例 **示例:**
``` ```
let slotId = 0; let slotId = 0;
radio.getSignalInformation(slotId, (err, data) => { radio.getSignalInformation(slotId, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
}); });
``` ```
## radio.getSignalInformation<a name=radio.getSignalInformation-promise></a> ## radio.getSignalInformation<a name=radio.getSignalInformation-promise></a>
...@@ -287,29 +287,29 @@ getSignalInformation\(slotId: number\): Promise<Array<SignalInformation\>\> ...@@ -287,29 +287,29 @@ getSignalInformation\(slotId: number\): Promise<Array<SignalInformation\>\>
获取指定SIM卡槽对应的注册网络信号强度信息列表,使用Promise方式作为异步方法。 获取指定SIM卡槽对应的注册网络信号强度信息列表,使用Promise方式作为异步方法。
- 参数 **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- | | ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 | | slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
- 返回值 **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| ----------------------------------------------------------- | ------------------------------------------------------------ | | ----------------------------------------------------------- | ------------------------------------------------------------ |
| Promise\<Array\<[SignalInformation](#SignalInformation)\>\> | 以Promise形式返回网络信号强度[SignalInformation](#SignalInformation)对象的数组。 | | Promise\<Array\<[SignalInformation](#SignalInformation)\>\> | 以Promise形式返回网络信号强度[SignalInformation](#SignalInformation)对象的数组。 |
- 示例 **示例:**
``` ```
let slotId = 0; let slotId = 0;
let promise = radio.getSignalInformation(slotId); let promise = radio.getSignalInformation(slotId);
promise.then(data => { promise.then(data => {
console.log(`getSignalInformation success, promise: data->${JSON.stringify(data)}`); console.log(`getSignalInformation success, promise: data->${JSON.stringify(data)}`);
}).catch(err => { }).catch(err => {
console.error(`getSignalInformation fail, promise: err->${JSON.stringify(err)}`); console.error(`getSignalInformation fail, promise: err->${JSON.stringify(err)}`);
}); });
``` ```
## radio.isRadioOn<sup>7+</sup><a name=radio.isRadioOn-callback></a> ## radio.isRadioOn<sup>7+</sup><a name=radio.isRadioOn-callback></a>
...@@ -320,19 +320,19 @@ isRadioOn\(callback: AsyncCallback<boolean\>\): void ...@@ -320,19 +320,19 @@ isRadioOn\(callback: AsyncCallback<boolean\>\): void
需要ohos.permission.GET\_NETWORK\_INFO权限。 需要ohos.permission.GET\_NETWORK\_INFO权限。
- 参数 **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------ | ---- | ------------------------------------------------------- | | -------- | ------------------------ | ---- | ------------------------------------------------------- |
| callback | AsyncCallback\<boolean\> | 是 | 回调函数。<br/>- true:Radio打开<br/>- false:Radio关闭 | | callback | AsyncCallback\<boolean\> | 是 | 回调函数。<br/>- true:Radio打开<br/>- false:Radio关闭 |
- 示例 **示例:**
``` ```
radio.isRadioOn((err, data) => { radio.isRadioOn((err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
}); });
``` ```
## radio.isRadioOn<sup>7+</sup><a name=radio.isRadioOn-promise></a> ## radio.isRadioOn<sup>7+</sup><a name=radio.isRadioOn-promise></a>
...@@ -343,22 +343,22 @@ isRadioOn\(\): Promise<boolean\> ...@@ -343,22 +343,22 @@ isRadioOn\(\): Promise<boolean\>
需要ohos.permission.GET\_NETWORK\_INFO权限。 需要ohos.permission.GET\_NETWORK\_INFO权限。
- 返回值 **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| ------------------ | ------------------------------------------------------------ | | ------------------ | ------------------------------------------------------------ |
| Promise\<boolean\> | 以Promise形式返回判断Radio是否打开的结果。<br/>- true:Radio打开<br/>- false:Radio关闭 | | Promise\<boolean\> | 以Promise形式返回判断Radio是否打开的结果。<br/>- true:Radio打开<br/>- false:Radio关闭 |
- 示例 **示例:**
``` ```
let promise = radio.isRadioOn(); let promise = radio.isRadioOn();
promise.then(data => { promise.then(data => {
console.log(`isRadioOn success, promise: data->${JSON.stringify(data)}`); console.log(`isRadioOn success, promise: data->${JSON.stringify(data)}`);
}).catch(err => { }).catch(err => {
console.error(`isRadioOn fail, promise: err->${JSON.stringify(err)}`); console.error(`isRadioOn fail, promise: err->${JSON.stringify(err)}`);
}); });
``` ```
## RadioTechnology<a name=RadioTechnology></a> ## RadioTechnology<a name=RadioTechnology></a>
......
...@@ -32,22 +32,24 @@ isRunningLockTypeSupported(type: RunningLockType, callback: AsyncCallback&lt;boo ...@@ -32,22 +32,24 @@ isRunningLockTypeSupported(type: RunningLockType, callback: AsyncCallback&lt;boo
查询系统是否支持该类型的锁。 查询系统是否支持该类型的锁。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| type | RunningLockType | 是 | 需要查询的锁的类型。 | | -------- | -------- | -------- | -------- |
| callback | AsyncCallback&lt;boolean&gt; | 是 | 指定的callback回调方法,用于获取返回值。<br/>callback返回值:支持返回true,不支持返回false。 | | type | RunningLockType | 是 | 需要查询的锁的类型。 |
| callback | AsyncCallback&lt;boolean&gt; | 是 | 指定的callback回调方法,用于获取返回值。<br/>callback返回值:支持返回true,不支持返回false。 |
- 示例:
``` **示例:**
runningLock.isRunningLockTypeSupported(runningLock.RunningLockType.BACKGROUND, (error, supported) => {
```
runningLock.isRunningLockTypeSupported(runningLock.RunningLockType.BACKGROUND, (error, supported) => {
if (typeof error === "undefined") { if (typeof error === "undefined") {
console.info('BACKGROUND support status is ' + supported); console.info('BACKGROUND support status is ' + supported);
} else { } else {
console.log('error: ' + error); console.log('error: ' + error);
} }
}) })
``` ```
## isRunningLockTypeSupported ## isRunningLockTypeSupported
...@@ -56,26 +58,29 @@ isRunningLockTypeSupported(type: RunningLockType): Promise&lt;boolean&gt; ...@@ -56,26 +58,29 @@ isRunningLockTypeSupported(type: RunningLockType): Promise&lt;boolean&gt;
查询系统是否支持该类型的锁。 查询系统是否支持该类型的锁。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| type | RunningLockType | 是 | 需要查询的锁的类型。 | | -------- | -------- | -------- | -------- |
| type | RunningLockType | 是 | 需要查询的锁的类型。 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;boolean&gt; | Promise实例,用于异步获取返回值,支持返回true,不支持返回false。 |
- 返回值: **示例:**
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;boolean&gt; | Promise实例,用于异步获取返回值,支持返回true,不支持返回false。 |
- 示例: ```
``` runningLock.isRunningLockTypeSupported(runningLock.RunningLockType.PROXIMITY_SCREEN_CONTROL)
runningLock.isRunningLockTypeSupported(runningLock.RunningLockType.PROXIMITY_SCREEN_CONTROL) .then(supported => {
.then(supported => {
console.info('PROXIMITY_SCREEN_CONTROL support status is ' + supported); console.info('PROXIMITY_SCREEN_CONTROL support status is ' + supported);
}) })
.catch(error => { .catch(error => {
console.log('error: ' + error); console.log('error: ' + error);
}); });
``` ```
## createRunningLock ## createRunningLock
...@@ -86,27 +91,29 @@ createRunningLock(name: string, type: RunningLockType, callback: AsyncCallback&l ...@@ -86,27 +91,29 @@ createRunningLock(name: string, type: RunningLockType, callback: AsyncCallback&l
需要权限:ohos.permission.RUNNING_LOCK 需要权限:ohos.permission.RUNNING_LOCK
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| name | string | 是 | 锁的名字。 | | -------- | -------- | -------- | -------- |
| type | RunningLockType | 是 | 要创建的锁的类型。 | | name | string | 是 | 锁的名字。 |
| callback | AsyncCallback&lt;[RunningLock](#runninglock)&gt; | 是 | 指定的callback回调方法,用于获取返回的RunningLock锁对象。 | | type | RunningLockType | 是 | 要创建的锁的类型。 |
| callback | AsyncCallback&lt;[RunningLock](#runninglock)&gt; | 是 | 指定的callback回调方法,用于获取返回的RunningLock锁对象。 |
- 示例:
``` **示例:**
runningLock.createRunningLock("running_lock_test", runningLock.RunningLockType.BACKGROUND)
.then(runninglock => { ```
runningLock.createRunningLock("running_lock_test", runningLock.RunningLockType.BACKGROUND)
.then(runninglock => {
var used = runninglock.isUsed(); var used = runninglock.isUsed();
console.info('runninglock is used: ' + used); console.info('runninglock is used: ' + used);
runninglock.lock(500); runninglock.lock(500);
used = runninglock.isUsed(); used = runninglock.isUsed();
console.info('after lock runninglock is used ' + used); console.info('after lock runninglock is used ' + used);
}) })
.catch(error => { .catch(error => {
console.log('create runningLock test error: ' + error); console.log('create runningLock test error: ' + error);
}) })
``` ```
## createRunningLock ## createRunningLock
...@@ -117,27 +124,30 @@ createRunningLock(name: string, type: RunningLockType): Promise&lt;RunningLock&g ...@@ -117,27 +124,30 @@ createRunningLock(name: string, type: RunningLockType): Promise&lt;RunningLock&g
需要权限:ohos.permission.RUNNING_LOCK 需要权限:ohos.permission.RUNNING_LOCK
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| name | string | 是 | 锁的名字。 | | -------- | -------- | -------- | -------- |
| type | RunningLockType | 是 | 要创建的锁的类型。 | | name | string | 是 | 锁的名字。 |
| type | RunningLockType | 是 | 要创建的锁的类型。 |
- 返回值:
| 类型 | 说明 | **返回值:**
| -------- | -------- |
| Promise&lt;[RunningLock](#runninglock)&gt; | Promise实例,用于异步获取返回的RunningLock锁对象。 | | 类型 | 说明 |
| -------- | -------- |
- 示例: | Promise&lt;[RunningLock](#runninglock)&gt; | Promise实例,用于异步获取返回的RunningLock锁对象。 |
```
runningLock.createRunningLock("running_lock_test", runningLock.RunningLockType.BACKGROUND) **示例:**
.then(runninglock => {
```
runningLock.createRunningLock("running_lock_test", runningLock.RunningLockType.BACKGROUND)
.then(runninglock => {
console.info('create runningLock success'); console.info('create runningLock success');
}) })
.catch(error => { .catch(error => {
console.log('create runningLock test error: ' + error); console.log('create runningLock test error: ' + error);
}) })
``` ```
## RunningLock ## RunningLock
...@@ -151,22 +161,24 @@ lock(timeout: number): void ...@@ -151,22 +161,24 @@ lock(timeout: number): void
锁定和持有RunningLock 锁定和持有RunningLock
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| timeout | number | 否 | 锁定和持有RunningLock的时长。 | | -------- | -------- | -------- | -------- |
| timeout | number | 否 | 锁定和持有RunningLock的时长。 |
**示例:**
- 示例: ```
``` runningLock.createRunningLock("running_lock_test", runningLock.RunningLockType.BACKGROUND)
runningLock.createRunningLock("running_lock_test", runningLock.RunningLockType.BACKGROUND) .then(runningLock => {
.then(runningLock => {
runningLock.lock(100) runningLock.lock(100)
console.info('create runningLock success') console.info('create runningLock success')
}) })
.catch(error => { .catch(error => {
console.log('Lock runningLock test error: ' + error) console.log('Lock runningLock test error: ' + error)
}); });
``` ```
### unlock ### unlock
...@@ -175,17 +187,18 @@ unlock(): void ...@@ -175,17 +187,18 @@ unlock(): void
释放Runninglock锁。 释放Runninglock锁。
- 示例: **示例:**
```
runningLock.createRunningLock("running_lock_test", runningLock.RunningLockType.BACKGROUND) ```
.then(runningLock => { runningLock.createRunningLock("running_lock_test", runningLock.RunningLockType.BACKGROUND)
.then(runningLock => {
runningLock.unlock() runningLock.unlock()
console.info('unLock runningLock success') console.info('unLock runningLock success')
}) })
.catch(error => { .catch(error => {
console.log('unLock runningLock test error: ' + error) console.log('unLock runningLock test error: ' + error)
}); });
``` ```
### isUsed ### isUsed
...@@ -194,19 +207,20 @@ isUsed(): boolean ...@@ -194,19 +207,20 @@ isUsed(): boolean
查询当前Runninglock是持有状态,还是释放状态。 查询当前Runninglock是持有状态,还是释放状态。
- 返回值: **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| boolean | 当前RunningLock是持有状态返回true,释放状态返回false。 | | boolean | 当前RunningLock是持有状态返回true,释放状态返回false。 |
**示例:**
- 示例: ```
``` runningLock.createRunningLock("running_lock_test", runningLock.RunningLockType.BACKGROUND)
runningLock.createRunningLock("running_lock_test", runningLock.RunningLockType.BACKGROUND) .then(runningLock => {
.then(runningLock => {
var used = runningLock.isUsed() var used = runningLock.isUsed()
console.info('runningLock used status: ' + used) console.info('runningLock used status: ' + used)
}) })
.catch(error => { .catch(error => {
console.log('runningLock isUsed test error: ' + error) console.log('runningLock isUsed test error: ' + error)
}); });
``` ```
# 访问控制管理
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## 导入模块
```
import abilityAccessCtrl from '@ohos.abilityAccessCtrl'
```
## 系统能力
SystemCapability.Security.AccessToken
## abilityAccessCtrl.createAtManager
createAtManager(): AtManager
访问控制管理:获取访问控制模块对象。
- 返回值:
| 类型 | 说明 |
| -------- | -------- |
| [AtManager](#atManager) | 获取访问控制模块的实例。 |
- 示例:
```
var AtManager = abilityAccessCtrl.createAtManager();
```
## AtManager
管理访问控制模块的实例。
### verifyAccessToken
verifyAccessToken(tokenID: number, permissionName: string): Promise&lt;GrantStatus&gt;
校验应用是否授予权限,使用Promise方式异步返回结果。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------- | ---- | ------------------------------------------ |
| tokenID | number | 是 | 要校验的目标应用的身份标识。 |
| permissionName | string | 是 | 需要校验的权限名称。 |
- 返回值:
| 类型 | 说明 |
| :------------ | :---------------------------------- |
| Promise&lt;GrantStatus&gt; | Promise实例,用于获取异步返回的授权状态结果。 |
- 示例:
```
const AtManager = abilityAccessCtrl.createAtManager();
let tokenID = 0;
let promise = AtManager.verifyAccessToken(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS");
promise.then(data => {
console.log(`promise: data->${JSON.stringify(data)}`);
});
```
### grantUserGrantedPermission
grantUserGrantedPermission(tokenID: number, permissionName: string, permissionFlag: number): Promise&lt;number&gt;
授予应用user grant权限,使用Promise方式异步返回结果。
需要权限:ohos.permission.GRANT_SENSITIVE_PERMISSIONS。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| --------- | ------------------- | ---- | ------------------------------------------------------------ |
| tokenID | number | 是 | 目标应用的身份标识。 |
| permissionName | string | 是 | 被授予的权限名称。 |
| permissionFlag | number | 是 | 授权选项,1表示下次仍需弹窗,2表示允许、禁止后不再提醒,3表示系统授权不允许更改。 |
- 返回值:
| 类型 | 说明 |
| :------------ | :---------------------------------- |
| Promise&lt;number&gt; | Promise实例,用于获取异步返回的授权操作结果。 |
- 示例:
```
const AtManager = abilityAccessCtrl.createAtManager();
let tokenID = 0;
let promise = AtManager.grantUserGrantedPermission(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS");
promise.then(data => {
console.log(`promise: data->${JSON.stringify(data)}`);
});
```
### grantUserGrantedPermission
grantUserGrantedPermission(tokenID: number, permissionName: string, permissionFlag: number, callback: AsyncCallback&lt;number&gt;): void
授予应用user grant权限,使用callback回调异步返回结果。
需要权限:ohos.permission.GRANT_SENSITIVE_PERMISSIONS。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| --------- | ------------------- | ---- | ------------------------------------------------------------ |
| tokenID | number | 是 | 目标应用的身份标识。 |
| permissionName | string | 是 | 被授予的权限名称。 |
| permissionFlag | number | 是 | 授权选项,1表示下次仍需弹窗,2表示允许、禁止后不再提醒,3表示系统授权不允许更改。 |
| callback | AsyncCallback&lt;number&gt; | 是 | 检查授予应用user grant权限的操作结果同步的回调。 |
- 示例:
```
const AtManager = abilityAccessCtrl.createAtManager();
let tokenID = 0;
let permissionFlag = 1;
AtManager.grantUserGrantedPermission(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS",permissionFlag, data => {
console.log(`callback: data->${JSON.stringify(data)}`);
});
```
### revokeUserGrantedPermission
revokeUserGrantedPermission(tokenID: number, permissionName: string, permissionFlag: number): Promise&lt;number&gt;
撤销应用user grant权限,使用Promise方式异步返回结果。
需要权限:ohos.permission.REVOKE_SENSITIVE_PERMISSIONS。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| --------- | ------------------- | ---- | ------------------------------------------------------------ |
| tokenID | number | 是 | 目标应用的身份标识。 |
| permissionName | string | 是 | 被撤销的权限名称。 |
| permissionFlag | number | 是 | 授权选项,1表示下次仍需弹窗,2表示允许、禁止后不再提醒,3表示系统授权不允许更改。 |
- 返回值:
| 类型 | 说明 |
| :------------ | :---------------------------------- |
| Promise&lt;number&gt; | Promise实例,用于获取异步返回的授权操作结果。 |
- 示例:
```
const AtManager = abilityAccessCtrl.createAtManager();
let tokenID = 0;
let permissionFlag = 1;
let promise = AtManager.revokeUserGrantedPermission(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS", permissionFlag);
promise.then(data => {
console.log(`promise: data->${JSON.stringify(data)}`);
});
```
### revokeUserGrantedPermission
revokeUserGrantedPermission(tokenID: number, permissionName: string, permissionFlag: number, callback: AsyncCallback&lt;number&gt;): void
撤销应用user grant权限,使用callback回调异步返回结果。
需要权限:ohos.permission.REVOKE_SENSITIVE_PERMISSIONS。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| --------- | ------------------- | ---- | ------------------------------------------------------------ |
| tokenID | number | 是 | 目标应用的身份标识。 |
| permissionName | string | 是 | 被撤销的权限名称。 |
| permissionFlag | number | 是 | 授权选项,1表示下次仍需弹窗,2表示允许、禁止后不再提醒,3表示系统授权不允许更改。 |
| callback | AsyncCallback&lt;number&gt; | 是 | 检查撤销应用user grant权限的操作结果同步的回调。 |
- 示例:
```
const AtManager = abilityAccessCtrl.createAtManager();
let tokenID = 0;
AtManager.revokeUserGrantedPermission(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS",permissionFlag, data => {
console.log(`callback: data->${JSON.stringify(data)}`);
});
```
### getPermissionFlags
getPermissionFlags(tokenID: number, permissionName: string): Promise&lt;number&gt;
获取指定应用的指定权限的flag,使用Promise方式异步返回结果。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| --------- | ------------------- | ---- | ------------------------------------------------------------ |
| tokenID | number | 是 | 目标应用的身份标识。 |
| permissionName | string | 是 | 查询的权限名称。 |
- 返回值:
| 类型 | 说明 |
| :------------ | :---------------------------------- |
| Promise&lt;number&gt; | Promise实例,用于获取异步返回的查询结果。 |
- 示例:
```
const AtManager = abilityAccessCtrl.createAtManager();
let tokenID = 0;
let promise = AtManager.getPermissionFlags(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS");
promise.then(data => {
console.log(`promise: data->${JSON.stringify(data)}`);
});
```
\ No newline at end of file
...@@ -18,21 +18,20 @@ getSimIccId\(slotId: number, callback: AsyncCallback<string\>\): void ...@@ -18,21 +18,20 @@ getSimIccId\(slotId: number, callback: AsyncCallback<string\>\): void
需要ohos.permission.GET\_TELEPHONY\_STATE权限,该权限为系统权限。 需要ohos.permission.GET\_TELEPHONY\_STATE权限,该权限为系统权限。
- 参数 **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------- | ---- | -------------------------------------- | | -------- | --------------------------- | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 | | slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
| callback | AsyncCallback&lt;string&gt; | 是 | 回调函数。 | | callback | AsyncCallback&lt;string&gt; | 是 | 回调函数。 |
**示例:**
- 示例 ```
sim.getSimIccId(0, (err, data) => {
```
sim.getSimIccId(0, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
}); });
``` ```
## sim.getSimIccId<a name=sim.getSimIccId-promise></a> ## sim.getSimIccId<a name=sim.getSimIccId-promise></a>
...@@ -43,28 +42,28 @@ getSimIccId\(slotId: number\): Promise<string\> ...@@ -43,28 +42,28 @@ getSimIccId\(slotId: number\): Promise<string\>
需要ohos.permission.GET\_TELEPHONY\_STATE权限,该权限为系统权限。 需要ohos.permission.GET\_TELEPHONY\_STATE权限,该权限为系统权限。
- 参数 **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- | | ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 | | slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
- 返回值 **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| --------------------- | ---------------------------------- | | --------------------- | ---------------------------------- |
| Promise&lt;string&gt; | 以Promise形式返回指定卡槽的ICCID。 | | Promise&lt;string&gt; | 以Promise形式返回指定卡槽的ICCID。 |
- 示例 **示例:**
``` ```
let promise = sim.getSimIccId(0); let promise = sim.getSimIccId(0);
promise.then(data => { promise.then(data => {
console.log(`getSimIccId success, promise: data->${JSON.stringify(data)}`); console.log(`getSimIccId success, promise: data->${JSON.stringify(data)}`);
}).catch(err => { }).catch(err => {
console.log(`getSimIccId fail, promise: err->${JSON.stringify(err)}`); console.log(`getSimIccId fail, promise: err->${JSON.stringify(err)}`);
}); });
``` ```
## sim.getDefaultVoiceSlotId<sup>7+</sup><a name= sim.getDefaultVoiceSlotId-callback></a> ## sim.getDefaultVoiceSlotId<sup>7+</sup><a name= sim.getDefaultVoiceSlotId-callback></a>
...@@ -72,19 +71,19 @@ getDefaultVoiceSlotId\(callback: AsyncCallback<number\>\): void ...@@ -72,19 +71,19 @@ getDefaultVoiceSlotId\(callback: AsyncCallback<number\>\): void
获取默认语音业务的卡槽ID,使用callback方式作为异步方法。 获取默认语音业务的卡槽ID,使用callback方式作为异步方法。
- 参数 **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------- | ---- | ---------- | | -------- | --------------------------- | ---- | ---------- |
| callback | AsyncCallback&lt;number&gt; | 是 | 回调函数。 | | callback | AsyncCallback&lt;number&gt; | 是 | 回调函数。 |
- 示例 **示例:**
``` ```
sim.getDefaultVoiceSlotId((err, data) => { sim.getDefaultVoiceSlotId((err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
}); });
``` ```
## sim.getDefaultVoiceSlotId<sup>7+</sup><a name=sim.getDefaultVoiceSlotId-promise></a> ## sim.getDefaultVoiceSlotId<sup>7+</sup><a name=sim.getDefaultVoiceSlotId-promise></a>
...@@ -93,22 +92,22 @@ getDefaultVoiceSlotId\(\): Promise<number\> ...@@ -93,22 +92,22 @@ getDefaultVoiceSlotId\(\): Promise<number\>
获取默认语音业务的卡槽ID,使用Promise方式作为异步方法。 获取默认语音业务的卡槽ID,使用Promise方式作为异步方法。
- 返回值 **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| ----------------- | --------------------------------------- | | ----------------- | --------------------------------------- |
| Promise\<number\> | 以Promise形式返回默认语音业务的卡槽ID。 | | Promise\<number\> | 以Promise形式返回默认语音业务的卡槽ID。 |
- 示例 **示例:**
``` ```
let promise = sim.getDefaultVoiceSlotId(); let promise = sim.getDefaultVoiceSlotId();
promise.then(data => { promise.then(data => {
console.log(`getDefaultVoiceSlotId success, promise: data->${JSON.stringify(data)}`); console.log(`getDefaultVoiceSlotId success, promise: data->${JSON.stringify(data)}`);
}).catch(err => { }).catch(err => {
console.log(`getDefaultVoiceSlotId fail, promise: err->${JSON.stringify(err)}`); console.log(`getDefaultVoiceSlotId fail, promise: err->${JSON.stringify(err)}`);
}); });
``` ```
## sim.getISOCountryCodeForSim<a name=sim.getISOCountryCodeForSim-callback></a> ## sim.getISOCountryCodeForSim<a name=sim.getISOCountryCodeForSim-callback></a>
...@@ -116,20 +115,20 @@ getISOCountryCodeForSim\(slotId: number, callback: AsyncCallback<string\>\): voi ...@@ -116,20 +115,20 @@ getISOCountryCodeForSim\(slotId: number, callback: AsyncCallback<string\>\): voi
获取指定卡槽SIM卡的ISO国家码,使用callback方式作为异步方法。 获取指定卡槽SIM卡的ISO国家码,使用callback方式作为异步方法。
- 参数 **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------- | ---- | ---------------------------------------- | | -------- | ----------------------- | ---- | ---------------------------------------- |
| slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 | | slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
| callback | AsyncCallback\<string\> | 是 | 回调函数。返回国家码,例如:CN(中国)。 | | callback | AsyncCallback\<string\> | 是 | 回调函数。返回国家码,例如:CN(中国)。 |
- 示例 **示例:**
``` ```
sim.getISOCountryCodeForSim(0, (err, data) => { sim.getISOCountryCodeForSim(0, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
}); });
``` ```
## sim.getISOCountryCodeForSim<a name=sim.getISOCountryCodeForSim-promise></a> ## sim.getISOCountryCodeForSim<a name=sim.getISOCountryCodeForSim-promise></a>
...@@ -138,28 +137,28 @@ getISOCountryCodeForSim\(slotId: number\): Promise<string\> ...@@ -138,28 +137,28 @@ getISOCountryCodeForSim\(slotId: number\): Promise<string\>
获取指定卡槽SIM卡的ISO国家码,使用Promise方式作为异步方法。 获取指定卡槽SIM卡的ISO国家码,使用Promise方式作为异步方法。
- 参数 **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- | | ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 | | slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
- 返回值 **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| ----------------- | ------------------------------------------------------------ | | ----------------- | ------------------------------------------------------------ |
| Promise\<string\> | 以Promise形式返回获取指定卡槽SIM卡的ISO国家码,例如:CN(中国)。 | | Promise\<string\> | 以Promise形式返回获取指定卡槽SIM卡的ISO国家码,例如:CN(中国)。 |
- 示例 **示例:**
``` ```
let promise = sim.getISOCountryCodeForSim(0); let promise = sim.getISOCountryCodeForSim(0);
promise.then(data => { promise.then(data => {
console.log(`getISOCountryCodeForSim success, promise: data->${JSON.stringify(data)}`); console.log(`getISOCountryCodeForSim success, promise: data->${JSON.stringify(data)}`);
}).catch(err => { }).catch(err => {
console.log(`getISOCountryCodeForSim fail, promise: err->${JSON.stringify(err)}`); console.log(`getISOCountryCodeForSim fail, promise: err->${JSON.stringify(err)}`);
}); });
``` ```
## sim.getSimOperatorNumeric<a name=sim.getSimOperatorNumeric-callback></a> ## sim.getSimOperatorNumeric<a name=sim.getSimOperatorNumeric-callback></a>
...@@ -168,20 +167,20 @@ getSimOperatorNumeric\(slotId: number, callback: AsyncCallback<string\>\): void ...@@ -168,20 +167,20 @@ getSimOperatorNumeric\(slotId: number, callback: AsyncCallback<string\>\): void
获取指定卡槽SIM卡的归属PLMN(Public Land Mobile Network)号,使用callback方式作为异步方法。 获取指定卡槽SIM卡的归属PLMN(Public Land Mobile Network)号,使用callback方式作为异步方法。
- 参数 **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------- | ---- | -------------------------------------- | | -------- | ----------------------- | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 | | slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
| callback | AsyncCallback\<string\> | 是 | 回调函数。 | | callback | AsyncCallback\<string\> | 是 | 回调函数。 |
- 示例 **示例:**
``` ```
sim.getSimOperatorNumeric(0, (err, data) => { sim.getSimOperatorNumeric(0, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
}); });
``` ```
## sim.getSimOperatorNumeric<a name=sim.getSimOperatorNumeric-promise></a> ## sim.getSimOperatorNumeric<a name=sim.getSimOperatorNumeric-promise></a>
...@@ -190,28 +189,28 @@ getSimOperatorNumeric\(slotId: number\): Promise<string\> ...@@ -190,28 +189,28 @@ getSimOperatorNumeric\(slotId: number\): Promise<string\>
获取指定卡槽SIM卡的归属PLMN(Public Land Mobile Network)号,使用Promise方式作为异步方法。 获取指定卡槽SIM卡的归属PLMN(Public Land Mobile Network)号,使用Promise方式作为异步方法。
- 参数 **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- | | ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 | | slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
- 返回值 **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| ----------------- | ------------------------------------------------ | | ----------------- | ------------------------------------------------ |
| Promise\<string\> | 以Promise形式返回获取指定卡槽SIM卡的归属PLMN号。 | | Promise\<string\> | 以Promise形式返回获取指定卡槽SIM卡的归属PLMN号。 |
- 示例 **示例:**
``` ```
let promise = sim.getSimOperatorNumeric(0); let promise = sim.getSimOperatorNumeric(0);
promise.then(data => { promise.then(data => {
console.log(`getSimOperatorNumeric success, promise: data->${JSON.stringify(data)}`); console.log(`getSimOperatorNumeric success, promise: data->${JSON.stringify(data)}`);
}).catch(err => { }).catch(err => {
console.log(`getSimOperatorNumeric fail, promise: err->${JSON.stringify(err)}`); console.log(`getSimOperatorNumeric fail, promise: err->${JSON.stringify(err)}`);
}); });
``` ```
## sim.getSimSpn<a name=sim.getSimSpn-callback></a> ## sim.getSimSpn<a name=sim.getSimSpn-callback></a>
...@@ -220,20 +219,20 @@ getSimSpn\(slotId: number, callback: AsyncCallback<string\>\): void ...@@ -220,20 +219,20 @@ getSimSpn\(slotId: number, callback: AsyncCallback<string\>\): void
获取指定卡槽SIM卡的服务提供商名称(Service Provider Name,SPN),使用callback方式作为异步方法。 获取指定卡槽SIM卡的服务提供商名称(Service Provider Name,SPN),使用callback方式作为异步方法。
- 参数 **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------- | ---- | -------------------------------------- | | -------- | ----------------------- | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 | | slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
| callback | AsyncCallback\<string\> | 是 | 回调函数。 | | callback | AsyncCallback\<string\> | 是 | 回调函数。 |
- 示例 **示例:**
``` ```
sim.getSimSpn(0, (err, data) => { sim.getSimSpn(0, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
}); });
``` ```
## sim.getSimSpn<a name=sim.getSimSpn-promise></a> ## sim.getSimSpn<a name=sim.getSimSpn-promise></a>
...@@ -242,28 +241,28 @@ getSimSpn\(slotId: number\): Promise<string\> ...@@ -242,28 +241,28 @@ getSimSpn\(slotId: number\): Promise<string\>
获取指定卡槽SIM卡的服务提供商名称(Service Provider Name,SPN),使用Promise方式作为异步方法。 获取指定卡槽SIM卡的服务提供商名称(Service Provider Name,SPN),使用Promise方式作为异步方法。
- 参数 **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- | | ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 | | slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
- 返回值 **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| ----------------- | ----------------------------------------- | | ----------------- | ----------------------------------------- |
| Promise\<string\> | 以Promise形式返回获取指定卡槽SIM卡的SPN。 | | Promise\<string\> | 以Promise形式返回获取指定卡槽SIM卡的SPN。 |
- 示例 **示例:**
``` ```
let promise = sim.getSimSpn(0); let promise = sim.getSimSpn(0);
promise.then(data => { promise.then(data => {
console.log(`getSimSpn success, promise: data->${JSON.stringify(data)}`); console.log(`getSimSpn success, promise: data->${JSON.stringify(data)}`);
}).catch(err => { }).catch(err => {
console.log(`getSimSpn fail, promise: err->${JSON.stringify(err)}`); console.log(`getSimSpn fail, promise: err->${JSON.stringify(err)}`);
}); });
``` ```
## sim.getSimState<a name=sim.getSimState-callback></a> ## sim.getSimState<a name=sim.getSimState-callback></a>
...@@ -272,20 +271,20 @@ getSimState\(slotId: number, callback: AsyncCallback<SimState\>\): void ...@@ -272,20 +271,20 @@ getSimState\(slotId: number, callback: AsyncCallback<SimState\>\): void
获取指定卡槽的SIM卡状态,使用callback方式作为异步方法。 获取指定卡槽的SIM卡状态,使用callback方式作为异步方法。
- 参数 **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------------- | ---- | -------------------------------------- | | -------- | -------------------------------------- | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 | | slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
| callback | AsyncCallback\<[SimState](#SimState)\> | 是 | 回调函数。参考[SimState](#SimState)。 | | callback | AsyncCallback\<[SimState](#SimState)\> | 是 | 回调函数。参考[SimState](#SimState)。 |
- 示例 **示例:**
``` ```
sim.getSimState(0, (err, data) => { sim.getSimState(0, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
}); });
``` ```
## sim.getSimState<a name=sim.getSimState-promise></a> ## sim.getSimState<a name=sim.getSimState-promise></a>
...@@ -294,28 +293,28 @@ getSimState\(slotId: number\): Promise<SimState\> ...@@ -294,28 +293,28 @@ getSimState\(slotId: number\): Promise<SimState\>
获取指定卡槽的SIM卡状态,使用Promise方式作为异步方法。 获取指定卡槽的SIM卡状态,使用Promise方式作为异步方法。
- 参数 **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- | | ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 | | slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
- 返回值 **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| -------------------------------- | ------------------------------------------ | | -------------------------------- | ------------------------------------------ |
| Promise\<[SimState](#SimState)\> | 以Promise形式返回获取指定卡槽的SIM卡状态。 | | Promise\<[SimState](#SimState)\> | 以Promise形式返回获取指定卡槽的SIM卡状态。 |
- 示例 **示例:**
``` ```
let promise = sim.getSimState(0); let promise = sim.getSimState(0);
promise.then(data => { promise.then(data => {
console.log(`getSimState success, promise: data->${JSON.stringify(data)}`); console.log(`getSimState success, promise: data->${JSON.stringify(data)}`);
}).catch(err => { }).catch(err => {
console.log(`getSimState fail, promise: err->${JSON.stringify(err)}`); console.log(`getSimState fail, promise: err->${JSON.stringify(err)}`);
}); });
``` ```
## sim.getSimGid1<a name=sim.getSimGid1-callback></a> ## sim.getSimGid1<a name=sim.getSimGid1-callback></a>
...@@ -325,20 +324,20 @@ getSimGid1\(slotId: number, callback: AsyncCallback<string\>\): void ...@@ -325,20 +324,20 @@ getSimGid1\(slotId: number, callback: AsyncCallback<string\>\): void
需要ohos.permission.GET\_TELEPHONY\_STATE权限,该权限为系统权限。 需要ohos.permission.GET\_TELEPHONY\_STATE权限,该权限为系统权限。
- 参数 **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------- | ---- | -------------------------------------- | | -------- | ----------------------- | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 | | slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
| callback | AsyncCallback\<string\> | 是 | 回调函数。 | | callback | AsyncCallback\<string\> | 是 | 回调函数。 |
- 示例 **示例:**
``` ```
sim.getSimGid1(0, (err, data) => { sim.getSimGid1(0, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
}); });
``` ```
## sim.getSimGid1<a name=sim.getSimGid1-promise></a> ## sim.getSimGid1<a name=sim.getSimGid1-promise></a>
...@@ -349,28 +348,28 @@ getSimGid1\(slotId: number\): Promise<string\> ...@@ -349,28 +348,28 @@ getSimGid1\(slotId: number\): Promise<string\>
需要ohos.permission.GET\_TELEPHONY\_STATE权限,该权限为系统权限。 需要ohos.permission.GET\_TELEPHONY\_STATE权限,该权限为系统权限。
- 参数 **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- | | ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 | | slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
- 返回值 **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| ----------------- | ------------------------------------------------------------ | | ----------------- | ------------------------------------------------------------ |
| Promise\<string\> | 以Promise形式返回获取指定卡槽SIM卡的GID1(Group Identifier Level 1)。 | | Promise\<string\> | 以Promise形式返回获取指定卡槽SIM卡的GID1(Group Identifier Level 1)。 |
- 示例 **示例:**
``` ```
let promise = sim.getSimGid1(0); let promise = sim.getSimGid1(0);
promise.then(data => { promise.then(data => {
console.log(`getSimGid1 success, promise: data->${JSON.stringify(data)}`); console.log(`getSimGid1 success, promise: data->${JSON.stringify(data)}`);
}).catch(err => { }).catch(err => {
console.log(`getSimGid1 fail, promise: err->${JSON.stringify(err)}`); console.log(`getSimGid1 fail, promise: err->${JSON.stringify(err)}`);
}); });
``` ```
## SimState<a name=SimState></a> ## SimState<a name=SimState></a>
......
...@@ -16,24 +16,24 @@ createMessage\(pdu: Array<number\>, specification: string, callback: AsyncCallba ...@@ -16,24 +16,24 @@ createMessage\(pdu: Array<number\>, specification: string, callback: AsyncCallba
根据协议数据单元(PDU)和指定的短信协议创建短信实例,使用callback方式作为异步方法。 根据协议数据单元(PDU)和指定的短信协议创建短信实例,使用callback方式作为异步方法。
- 参数 **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------------- | -------------------------------------------------- | ---- | ------------------------------------------------------------ | | ------------- | -------------------------------------------------- | ---- | ------------------------------------------------------------ |
| pdu | Array&lt;number&gt; | 是 | 协议数据单元,从收到的信息中获取。 | | pdu | Array&lt;number&gt; | 是 | 协议数据单元,从收到的信息中获取。 |
| specification | string | 是 | 短信协议类型。<br/>- 3gpp表示GSM/UMTS/LTE SMS<br/>- 3gpp2表示CDMA SMS | | specification | string | 是 | 短信协议类型。<br/>- 3gpp表示GSM/UMTS/LTE SMS<br/>- 3gpp2表示CDMA SMS |
| callback | AsyncCallback&lt;[ShortMessage](#ShortMessage)&gt; | 是 | 回调函数。 | | callback | AsyncCallback&lt;[ShortMessage](#ShortMessage)&gt; | 是 | 回调函数。 |
- 示例 **示例:**
``` ```
const specification = '3gpp'; const specification = '3gpp';
// 以数组的形式显示协议数据单元(PDU),类型为number,例如[0x08, 0x91, ...] // 以数组的形式显示协议数据单元(PDU),类型为number,例如[0x08, 0x91, ...]
const pdu = [0x08, 0x91]; const pdu = [0x08, 0x91];
sms.createMessage(pdu, specification, (err, data) => { sms.createMessage(pdu, specification, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
}); });
``` ```
## sms.createMessage<a name=sms.createMessage-promise></a> ## sms.createMessage<a name=sms.createMessage-promise></a>
...@@ -42,32 +42,32 @@ createMessage\(pdu: Array<number\>, specification: string\): Promise<ShortMessag ...@@ -42,32 +42,32 @@ createMessage\(pdu: Array<number\>, specification: string\): Promise<ShortMessag
根据协议数据单元(PDU)和指定的短信协议创建短信实例,使用Promise方式作为异步方法。 根据协议数据单元(PDU)和指定的短信协议创建短信实例,使用Promise方式作为异步方法。
- 参数 **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------------- | ------------------- | ---- | ------------------------------------------------------------ | | ------------- | ------------------- | ---- | ------------------------------------------------------------ |
| pdu | Array&lt;number&gt; | 是 | 协议数据单元,从收到的信息中获取。 | | pdu | Array&lt;number&gt; | 是 | 协议数据单元,从收到的信息中获取。 |
| specification | string | 是 | 短信协议类型。<br/>- 3gpp表示GSM/UMTS/LTE SMS<br/>- 3gpp2表示CDMA SMS | | specification | string | 是 | 短信协议类型。<br/>- 3gpp表示GSM/UMTS/LTE SMS<br/>- 3gpp2表示CDMA SMS |
- 返回值 **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| -------------------------------------------- | --------------------------------- | | -------------------------------------------- | --------------------------------- |
| Promise&lt;[ShortMessage](#ShortMessage)&gt; | 以Promise形式返回创建的短信实例。 | | Promise&lt;[ShortMessage](#ShortMessage)&gt; | 以Promise形式返回创建的短信实例。 |
- 示例 **示例:**
``` ```
const specification = '3gpp'; const specification = '3gpp';
// 以数组的形式显示协议数据单元(PDU),类型为number,例如[0x08, 0x91, ...] // 以数组的形式显示协议数据单元(PDU),类型为number,例如[0x08, 0x91, ...]
const pdu = [0x08, 0x91]; const pdu = [0x08, 0x91];
let promise = sms.createMessage(pdu, specification); let promise = sms.createMessage(pdu, specification);
promise.then(data => { promise.then(data => {
console.log(`createMessage success, promise: data->${JSON.stringify(data)}`); console.log(`createMessage success, promise: data->${JSON.stringify(data)}`);
}).catch(err => { }).catch(err => {
console.error(`createMessage fail, promise: err->${JSON.stringify(err)}`); console.error(`createMessage fail, promise: err->${JSON.stringify(err)}`);
}); });
``` ```
## sms.sendMessage ## sms.sendMessage
...@@ -77,29 +77,29 @@ sendMessage(options: SendMessageOptions): void ...@@ -77,29 +77,29 @@ sendMessage(options: SendMessageOptions): void
需要ohos.permission.SEND_MESSAGES权限。 需要ohos.permission.SEND_MESSAGES权限。
- 参数 **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------- | ----------------------------------------- | ---- | ------------------------------------------------------------ | | ------- | ----------------------------------------- | ---- | ------------------------------------------------------------ |
| options | [SendMessageOptions](#SendMessageOptions) | 是 | 发送短信的参数和回调,参考[SendMessageOptions](#SendMessageOptions)。 | | options | [SendMessageOptions](#SendMessageOptions) | 是 | 发送短信的参数和回调,参考[SendMessageOptions](#SendMessageOptions)。 |
- 示例 **示例:**
``` ```
let sendCallback = function (err, data) { let sendCallback = function (err, data) {
console.log(`sendCallback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); console.log(`sendCallback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
} }
let deliveryCallback = function (err, data) { let deliveryCallback = function (err, data) {
console.log(`deliveryCallback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); console.log(`deliveryCallback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
} }
let slotId = 0; let slotId = 0;
let content = '短信内容'; let content = '短信内容';
let destinationHost = '+861xxxxxxxxxx'; let destinationHost = '+861xxxxxxxxxx';
let serviceCenter = '+861xxxxxxxxxx'; let serviceCenter = '+861xxxxxxxxxx';
let destinationPort = 1000; let destinationPort = 1000;
let options = {slotId, content, destinationHost, serviceCenter, destinationPort, sendCallback, deliveryCallback}; let options = {slotId, content, destinationHost, serviceCenter, destinationPort, sendCallback, deliveryCallback};
sms.sendMessage(options); sms.sendMessage(options);
``` ```
## sms.getDefaultSmsSlotId<sup>7+</sup><a name=sms.getDefaultSmsSlotId-callback></a> ## sms.getDefaultSmsSlotId<sup>7+</sup><a name=sms.getDefaultSmsSlotId-callback></a>
...@@ -108,19 +108,19 @@ getDefaultSmsSlotId\(callback: AsyncCallback<number\>\): void ...@@ -108,19 +108,19 @@ getDefaultSmsSlotId\(callback: AsyncCallback<number\>\): void
获取发送短信的默认SIM卡槽ID,使用callback方式作为异步方法。 获取发送短信的默认SIM卡槽ID,使用callback方式作为异步方法。
- 参数 **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------- | ---- | ---------------------------------------- | | -------- | --------------------------- | ---- | ---------------------------------------- |
| callback | AsyncCallback&lt;number&gt; | 是 | 回调函数。<br/>- 0:卡槽1<br/>- 1:卡槽2 | | callback | AsyncCallback&lt;number&gt; | 是 | 回调函数。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
- 示例 **示例:**
``` ```
sms.getDefaultSmsSlotId((err, data) => { sms.getDefaultSmsSlotId((err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
}); });
``` ```
## sms.getDefaultSmsSlotId<sup>7+</sup><a name=sms.getDefaultSmsSlotId-promise></a> ## sms.getDefaultSmsSlotId<sup>7+</sup><a name=sms.getDefaultSmsSlotId-promise></a>
...@@ -129,22 +129,22 @@ getDefaultSmsSlotId\(\): Promise<number\> ...@@ -129,22 +129,22 @@ getDefaultSmsSlotId\(\): Promise<number\>
获取发送短信的默认SIM卡槽ID,使用Promise方式作为异步方法。 获取发送短信的默认SIM卡槽ID,使用Promise方式作为异步方法。
- 返回值 **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| --------------- | ------------------------------------------------------------ | | --------------- | ------------------------------------------------------------ |
| Promise<number> | 以Promise形式返回发送短信的默认SIM卡:<br/>- 0:卡槽1<br/>- 1:卡槽2 | | Promise<number> | 以Promise形式返回发送短信的默认SIM卡:<br/>- 0:卡槽1<br/>- 1:卡槽2 |
- 示例 **示例:**
``` ```
let promise = call.getDefaultSmsSlotId(); let promise = call.getDefaultSmsSlotId();
promise.then(data => { promise.then(data => {
console.log(`getDefaultSmsSlotId success, promise: data->${JSON.stringify(data)}`); console.log(`getDefaultSmsSlotId success, promise: data->${JSON.stringify(data)}`);
}).catch(err => { }).catch(err => {
console.error(`getDefaultSmsSlotId fail, promise: err->${JSON.stringify(err)}`); console.error(`getDefaultSmsSlotId fail, promise: err->${JSON.stringify(err)}`);
}); });
``` ```
## sms.setSmscAddr<sup>7+</sup><a name=sms.setSmscAddr-callback></a> ## sms.setSmscAddr<sup>7+</sup><a name=sms.setSmscAddr-callback></a>
...@@ -155,23 +155,23 @@ setSmscAddr\(slotId: number, smscAddr: string, callback: AsyncCallback<void\>\): ...@@ -155,23 +155,23 @@ setSmscAddr\(slotId: number, smscAddr: string, callback: AsyncCallback<void\>\):
需要ohos.permission.SET\_TELEPHONY\_STATE权限,该权限为系统权限。 需要ohos.permission.SET\_TELEPHONY\_STATE权限,该权限为系统权限。
- 参数 **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ----------------------------------------- | | -------- | ------------------------- | ---- | ----------------------------------------- |
| slotId | number | 是 | SIM卡槽ID:<br/>- 0:卡槽1<br/>- 1:卡槽2 | | slotId | number | 是 | SIM卡槽ID:<br/>- 0:卡槽1<br/>- 1:卡槽2 |
| smscAddr | string | 是 | 短信服务中心地址。 | | smscAddr | string | 是 | 短信服务中心地址。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。 | | callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。 |
- 示例 **示例:**
``` ```
let slotId = 0; let slotId = 0;
let smscAddr = '+861xxxxxxxxxx'; let smscAddr = '+861xxxxxxxxxx';
sms.setSmscAddr(slotId, smscAddr, (err,data) => { sms.setSmscAddr(slotId, smscAddr, (err,data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
}); });
``` ```
## sms.setSmscAddr<sup>7+</sup><a name=sms.setSmscAddr-promise></a> ## sms.setSmscAddr<sup>7+</sup><a name=sms.setSmscAddr-promise></a>
...@@ -182,31 +182,31 @@ setSmscAddr\(slotId: number, smscAddr: string\): Promise<void\> ...@@ -182,31 +182,31 @@ setSmscAddr\(slotId: number, smscAddr: string\): Promise<void\>
需要ohos.permission.SET\_TELEPHONY\_STATE权限,该权限为系统权限。 需要ohos.permission.SET\_TELEPHONY\_STATE权限,该权限为系统权限。
- 参数 **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ------ | ---- | ----------------------------------------- | | -------- | ------ | ---- | ----------------------------------------- |
| slotId | number | 是 | SIM卡槽ID:<br/>- 0:卡槽1<br/>- 1:卡槽2 | | slotId | number | 是 | SIM卡槽ID:<br/>- 0:卡槽1<br/>- 1:卡槽2 |
| smscAddr | string | 是 | 短信服务中心地址。 | | smscAddr | string | 是 | 短信服务中心地址。 |
- 返回值 **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| ------------------- | ------------------------------- | | ------------------- | ------------------------------- |
| Promise&lt;void&gt; | 以Promise形式异步返回设置结果。 | | Promise&lt;void&gt; | 以Promise形式异步返回设置结果。 |
- 示例 **示例:**
``` ```
let slotId = 0; let slotId = 0;
let smscAddr = '+861xxxxxxxxxx'; let smscAddr = '+861xxxxxxxxxx';
let promise = sms.setSmscAddr(slotId, smscAddr); let promise = sms.setSmscAddr(slotId, smscAddr);
promise.then(data => { promise.then(data => {
console.log(`setSmscAddr success, promise: data->${JSON.stringify(data)}`); console.log(`setSmscAddr success, promise: data->${JSON.stringify(data)}`);
}).catch(err => { }).catch(err => {
console.error(`setSmscAddr fail, promise: err->${JSON.stringify(err)}`); console.error(`setSmscAddr fail, promise: err->${JSON.stringify(err)}`);
}); });
``` ```
## sms.getSmscAddr<sup>7+</sup><a name=sms.getSmscAddr-callback></a> ## sms.getSmscAddr<sup>7+</sup><a name=sms.getSmscAddr-callback></a>
...@@ -217,21 +217,21 @@ getSmscAddr\(slotId: number, callback: AsyncCallback<string\>\): void ...@@ -217,21 +217,21 @@ getSmscAddr\(slotId: number, callback: AsyncCallback<string\>\): void
需要ohos.permission.GET\_TELEPHONY\_STATE权限,该权限为系统权限。 需要ohos.permission.GET\_TELEPHONY\_STATE权限,该权限为系统权限。
- 参数 **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------- | ---- | ----------------------------------------- | | -------- | --------------------------- | ---- | ----------------------------------------- |
| slotId | number | 是 | SIM卡槽ID:<br/>- 0:卡槽1<br/>- 1:卡槽2 | | slotId | number | 是 | SIM卡槽ID:<br/>- 0:卡槽1<br/>- 1:卡槽2 |
| callback | AsyncCallback&lt;string&gt; | 是 | 回调函数。 | | callback | AsyncCallback&lt;string&gt; | 是 | 回调函数。 |
- 示例 **示例:**
``` ```
let slotId = 0; let slotId = 0;
sms.getSmscAddr(slotId, (err, data) => { sms.getSmscAddr(slotId, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
}); });
``` ```
## sms.getSmscAddr<sup>7+</sup><a name=sms.getSmscAddr-promise></a> ## sms.getSmscAddr<sup>7+</sup><a name=sms.getSmscAddr-promise></a>
...@@ -242,29 +242,29 @@ getSmscAddr\(slotId: number\): Promise<string\> ...@@ -242,29 +242,29 @@ getSmscAddr\(slotId: number\): Promise<string\>
需要ohos.permission.GET\_TELEPHONY\_STATE权限,该权限为系统权限。 需要ohos.permission.GET\_TELEPHONY\_STATE权限,该权限为系统权限。
- 参数 **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ----------------------------------------- | | ------ | ------ | ---- | ----------------------------------------- |
| slotId | number | 是 | SIM卡槽ID:<br/>- 0:卡槽1<br/>- 1:卡槽2 | | slotId | number | 是 | SIM卡槽ID:<br/>- 0:卡槽1<br/>- 1:卡槽2 |
- 返回值 **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| --------------------- | --------------------------------------------- | | --------------------- | --------------------------------------------- |
| Promise&lt;string&gt; | 以Promise形式返回获取短信服务中心地址的结果。 | | Promise&lt;string&gt; | 以Promise形式返回获取短信服务中心地址的结果。 |
- 示例 **示例:**
``` ```
let slotId = 0; let slotId = 0;
let promise = sms.getSmscAddr(slotId); let promise = sms.getSmscAddr(slotId);
promise.then(data => { promise.then(data => {
console.log(`getSmscAddr success, promise: data->${JSON.stringify(data)}`); console.log(`getSmscAddr success, promise: data->${JSON.stringify(data)}`);
}).catch(err => { }).catch(err => {
console.error(`getSmscAddr fail, promise: err->${JSON.stringify(err)}`); console.error(`getSmscAddr fail, promise: err->${JSON.stringify(err)}`);
}); });
``` ```
## ShortMessage<a name=ShortMessage></a> ## ShortMessage<a name=ShortMessage></a>
......
...@@ -10,10 +10,9 @@ ...@@ -10,10 +10,9 @@
import Stack from '@ohos.util.Stack' import Stack from '@ohos.util.Stack'
``` ```
## 系统能力
## 权限 SystemCapability.Utils.Lang
## Stack ## Stack
...@@ -23,200 +22,215 @@ import Stack from '@ohos.util.Stack' ...@@ -23,200 +22,215 @@ import Stack from '@ohos.util.Stack'
| 名称 | 参数类型 | 可读 | 可写 | 说明 | | 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- | -------- |
| length | number | 是 | 否 | Stack的元素个数 | | length | number | 是 | 否 | Stack的元素个数 |
### constructor ### constructor
constructor(); constructor()
Stack的构造函数。 Stack的构造函数。
**示例:**
- 示例: ```
``` let stack = new Stack();
let stack = new Stack(); ```
```
### push ### push
push(item: T): T; push(item: T): T
在栈顶插入元素,并返回该元素。 在栈顶插入元素并返回该元素。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| item | T | 是 | 添加进去的元素 |
- 返回值: | 参数名 | 类型 | 必填 | 说明 |
| 类型 | 说明 | | -------- | -------- | -------- | -------- |
| -------- | -------- | | item | T | 是 | 添加进去的元素。 |
| T | 返回被添加进去的元素 |
- 示例: **返回值:**
```
let stack = new Stack(); | 类型 | 说明 |
stack.push("a"); | -------- | -------- |
stack.push(1); | T | 返回被添加进去的元素。 |
let b = [1, 2, 3];
stack.push(b); **示例:**
let c = {name : "lala", age : "13"};
stack.push(false); ```
``` let stack = new Stack();
stack.push("a");
stack.push(1);
let b = [1, 2, 3];
stack.push(b);
let c = {name : "lala", age : "13"};
stack.push(false);
```
### pop ### pop
pop(): T; pop(): T
删除栈顶元素并返回该删除元素。 删除栈顶元素并返回该删除元素。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| T | 返回删除的元素 | | -------- | -------- |
| T | 返回删除的元素。 |
- 示例:
``` **示例:**
let stack = new Stack();
stack.push(2); ```
stack.push(4); let stack = new Stack();
stack.push(5); stack.push(2);
stack.push(2); stack.push(4);
stack.push(4); stack.push(5);
stack.pop(); stack.push(2);
``` stack.push(4);
stack.pop();
```
### peek ### peek
peek(): T; peek(): T
获取并返回栈顶元素。 获取并返回栈顶元素。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| T | 返回栈顶元素 | | -------- | -------- |
| T | 返回栈顶元素。 |
- 示例:
``` **示例:**
let stack = new Stack();
stack.push(2); ```
stack.push(4); let stack = new Stack();
stack.push(5); stack.push(2);
stack.push(2); stack.push(4);
stack.peek(); stack.push(5);
``` stack.push(2);
stack.peek();
```
### locate ### locate
locate(element: T): number; locate(element: T): number
返回指定元素第一次出现时的下标值,查找失败返回-1。 返回指定元素第一次出现时的下标值,查找失败返回-1。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| element | T | 是 | 指定元素 | | -------- | -------- | -------- | -------- |
| element | T | 是 | 指定元素。 |
- 返回值:
| 类型 | 说明 | **返回值:**
| -------- | -------- |
| number | 找到就返回下标值,查找失败返回-1 | | 类型 | 说明 |
- 示例: | -------- | -------- |
``` | number | 找到就返回下标值,查找失败返回-1。 |
let stack = new Stack();
stack.push(2); **示例:**
stack.push(4);
stack.push(5); ```
stack.push(2); let stack = new Stack();
stack.locate(2); stack.push(2);
``` stack.push(4);
stack.push(5);
stack.push(2);
stack.locate(2);
```
### forEach ### forEach
forEach(callbackfn: (value: T, index?: number, stack?: Stack&lt;T&gt;) => void, forEach(callbackfn: (value: T, index?: number, stack?: Stack&lt;T&gt;) => void,
thisArg?: Object): void; thisArg?: Object): void
通过回调函数来遍历Stack实例对象上的元素以及元素对应的下标。 通过回调函数来遍历Stack实例对象上的元素以及元素对应的下标。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| callbackfn | function | 是 | 回调函数 | | -------- | -------- | -------- | -------- |
| thisArg | Object | 否 | callbackfn被调用时用作this值 | | callbackfn | function | 是 | 回调函数。 |
| thisArg | Object | 否 | callbackfn被调用时用作this值。 |
- callbackfn的参数说明
callbackfn的参数说明:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| value | T | 是 | 当前遍历到的元素。 | | -------- | -------- | -------- | -------- |
| index | number | 否 | 当前遍历到的下标值。 | | value | T | 是 | 当前遍历到的元素。 |
| stack | Stack&lt;T&gt; | 否 | 当前调用forEach方法的实例对象。 | | index | number | 否 | 当前遍历到的下标值。 |
| stack | Stack&lt;T&gt; | 否 | 当前调用forEach方法的实例对象。 |
- 示例: **示例:**
```
let stack = new Stack(); ```
stack.push(2); let stack = new Stack();
stack.push(4); stack.push(2);
stack.push(5); stack.push(4);
stack.push(4); stack.push(5);
stack.forEach((value, index) => { stack.push(4);
stack.forEach((value, index) => {
console.log(value, index); console.log(value, index);
}); });
``` ```
### isEmpty ### isEmpty
isEmpty(): boolean; isEmpty(): boolean
判断该栈是否为空。 判断该栈是否为空。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- |
| boolean | 为空返回true, 不为空返回false |
- 示例:
```
let stack = new Stack();
stack.push(2);
stack.push(4);
stack.push(5);
stack.push(4);
stack.isEmpty();
```
### [Symbol.iterator] | 类型 | 说明 |
| -------- | -------- |
| boolean | 为空返回true,不为空返回false。 |
[Symbol.iterator]\(): IterableIterator&lt;T&gt;; **示例:**
```
let stack = new Stack();
stack.push(2);
stack.push(4);
stack.push(5);
stack.push(4);
stack.isEmpty();
```
返回一个迭代器,迭代器的每一项都是一个 JavaScript 对象,并返回该对象。 ### [Symbol.iterator]
[Symbol.iterator]\(): IterableIterator&lt;T&gt;
- 返回值: 返回一个迭代器,迭代器的每一项都是一个 JavaScript 对象,并返回该对象。
| 类型 | 说明 |
| -------- | -------- |
| IterableIterator&lt;T&gt; | 返回一个迭代器 |
**返回值:**
- 示例: | 类型 | 说明 |
``` | -------- | -------- |
let stack = new Stack(); | IterableIterator&lt;T&gt; | 返回一个迭代器。 |
stack.push(2);
stack.push(4);
stack.push(5);
stack.push(4);
// 使用方法一: **示例:**
for (let item of stack) { ```
let stack = new Stack();
stack.push(2);
stack.push(4);
stack.push(5);
stack.push(4);
// 使用方法一:
for (let item of stack) {
console.log(item); console.log(item);
} }
// 使用方法二: // 使用方法二:
let iter = stack[Symbol.iterator](); let iter = stack[Symbol.iterator]();
let temp = iter.next().value; let temp = iter.next().value;
while(temp != undefined) { while(temp != undefined) {
console.log(temp); console.log(temp);
temp = iter.next().value; temp = iter.next().value;
} }
``` ```
\ No newline at end of file \ No newline at end of file
...@@ -10,10 +10,9 @@ ...@@ -10,10 +10,9 @@
import TreeMap from '@ohos.util.TreeMap' import TreeMap from '@ohos.util.TreeMap'
``` ```
## 系统能力
## 权限 SystemCapability.Utils.Lang
## TreeMap ## TreeMap
...@@ -27,19 +26,21 @@ import TreeMap from '@ohos.util.TreeMap' ...@@ -27,19 +26,21 @@ import TreeMap from '@ohos.util.TreeMap'
### constructor ### constructor
constructor(comparator?:(firstValue: K, secondValue: K) => boolean); constructor(comparator?:(firstValue: K, secondValue: K) => boolean)
TreeMap的构造函数。 TreeMap的构造函数。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| comparator | function | 否 | 用户自定义的比较函数 | | -------- | -------- | -------- | -------- |
| comparator | function | 否 | 用户自定义的比较函数。 |
**示例:**
- 示例: ```
``` let treeMap = new TreeMap();
let treeMap = new TreeMap(); ```
```
### isEmpty ### isEmpty
...@@ -48,16 +49,18 @@ isEmpty(): boolean; ...@@ -48,16 +49,18 @@ isEmpty(): boolean;
判断该容器是否为空。 判断该容器是否为空。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- |
| boolean | 为空返回true, 不为空返回false |
- 示例: | 类型 | 说明 |
``` | -------- | -------- |
const treeMap = new TreeMap(); | boolean | 为空返回true,否则返回false。 |
treeMap.isEmpty();
``` **示例:**
```
const treeMap = new TreeMap();
treeMap.isEmpty();
```
### hasKey ### hasKey
...@@ -66,73 +69,82 @@ hasKey(key: K): boolean; ...@@ -66,73 +69,82 @@ hasKey(key: K): boolean;
判断此容器中是否含有该指定key。 判断此容器中是否含有该指定key。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| key | K | 是 | 指定元素 | | -------- | -------- | -------- | -------- |
| key | K | 是 | 指定元素 |
**返回值:**
- 返回值: | 类型 | 说明 |
| 类型 | 说明 | | -------- | -------- |
| -------- | -------- | | boolean | 包含指定元素返回true,否则返回false。 |
| boolean | 是否包含指定元素 |
- 示例: **示例:**
```
let treeMap = new TreeMap(); ```
treeMap.hasKey("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); let treeMap = new TreeMap();
treeMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); treeMap.hasKey("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
treeMap.hasKey("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); treeMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
``` treeMap.hasKey("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
```
### hasValue ### hasValue
hasValue(value: V): boolean; hasValue(value: V): boolean
判断此容器中是否含有该指定value。 判断此容器中是否含有该指定value。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | V | 是 | 指定元素 |
- 返回值: | 参数名 | 类型 | 必填 | 说明 |
| 类型 | 说明 | | -------- | -------- | -------- | -------- |
| -------- | -------- | | value | V | 是 | 指定元素。 |
| boolean | 是否包含指定元素 |
- 示例: **返回值:**
```
let treeMap = new TreeMap(); | 类型 | 说明 |
treeMap.hasValue(123); | -------- | -------- |
treeMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); | boolean | 包含指定元素返回true,否则返回false。 |
treeMap.hasValue(123);
``` **示例:**
```
let treeMap = new TreeMap();
treeMap.hasValue(123);
treeMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
treeMap.hasValue(123);
```
### get ### get
get(key: K): V; get(key: K): V
获取指定key所对应的value。 获取指定key所对应的value。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| key | K | 是 | 查找的指定key | | -------- | -------- | -------- | -------- |
| key | K | 是 | 查找的指定key。 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| V | 返回key映射的value值。 |
- 返回值: **示例:**
| 类型 | 说明 |
| -------- | -------- |
| V | 返回key映射的value值 |
- 示例: ```
``` let treeMap = new TreeMap();
let treeMap = new TreeMap(); treeMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
treeMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); treeMap.set("sdfs", 356);
treeMap.set("sdfs", 356); treeMap.get("sdfs");
treeMap.get("sdfs"); ```
```
### getFirstKey ### getFirstKey
...@@ -141,18 +153,20 @@ getFirstKey(): K; ...@@ -141,18 +153,20 @@ getFirstKey(): K;
获取容器中排序第一的数据。 获取容器中排序第一的数据。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| K | 返回排序第一的数据 | | -------- | -------- |
| K | 返回排序第一的数据。 |
- 示例: **示例:**
```
let treeMap = new TreeMap(); ```
treeMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); let treeMap = new TreeMap();
treeMap.set("sdfs", 356); treeMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
let result = treeMap.getFirstKey(); treeMap.set("sdfs", 356);
``` let result = treeMap.getFirstKey();
```
### getLastKey ### getLastKey
...@@ -161,62 +175,69 @@ getLastKey(): K; ...@@ -161,62 +175,69 @@ getLastKey(): K;
获取容器中排序最后的数据。 获取容器中排序最后的数据。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- |
| K | 返回排序最后的数据 |
- 示例: | 类型 | 说明 |
``` | -------- | -------- |
let treeMap = new TreeMap(); | K | 返回排序最后的数据 |
treeMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
treeMap.set("sdfs", 356); **示例:**
let result = treeMap.getLastKey();
``` ```
let treeMap = new TreeMap();
treeMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
treeMap.set("sdfs", 356);
let result = treeMap.getLastKey();
```
### setAll ### setAll
setAll(map: TreeMap<K, V>): void; setAll(map: TreeMap<K, V>): void
将一个treemap中的所有元素组添加到另一个treemap中。 将一个treemap中的所有元素组添加到另一个treemap中。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| map | TreeMap<K, V> | 是 | 被添加元素的treemap | | -------- | -------- | -------- | -------- |
| map | TreeMap<K, V> | 是 | 被添加元素的TreeMap。 |
- 示例: **示例:**
```
let treeMap = new TreeMap(); ```
treeMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); let treeMap = new TreeMap();
treeMap.set("sdfs", 356); treeMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
let map = new TreeMap(); treeMap.set("sdfs", 356);
treeMap.setAll(map); let map = new TreeMap();
``` treeMap.setAll(map);
```
### set ### set
set(key: K, value: V): Object; set(key: K, value: V): Object
向treemap中添加一组数据。 向treemap中添加一组数据。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| key | K | 是 | 添加成员数据的键名 |
| value | V | 是 | 添加成员数据的值 |
- 返回值: | 参数名 | 类型 | 必填 | 说明 |
| 类型 | 说明 | | -------- | -------- | -------- | -------- |
| -------- | -------- | | key | K | 是 | 添加成员数据的键名。 |
| Object | 返回添加后的hashmap | | value | V | 是 | 添加成员数据的值。 |
- 示例: **返回值:**
```
let treeMap = new TreeMap(); | 类型 | 说明 |
treeMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); | -------- | -------- |
``` | Object | 返回添加后的hashmap |
**示例:**
```
let treeMap = new TreeMap();
treeMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
```
### remove ### remove
...@@ -225,220 +246,241 @@ remove(key: K): V; ...@@ -225,220 +246,241 @@ remove(key: K): V;
删除指定的元素。 删除指定的元素。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| key | K | 是 | 依据key指定删除的元素 | | -------- | -------- | -------- | -------- |
| key | K | 是 | 依据key指定删除的元素。 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| V | 返回删除元素的值。 |
- 返回值: **示例:**
| 类型 | 说明 |
| -------- | -------- |
| V | 返回删除元素的值 |
- 示例: ```
``` let treeMap = new TreeMap();
let treeMap = new TreeMap(); treeMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
treeMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); treeMap.set("sdfs", 356);
treeMap.set("sdfs", 356); treeMap.remove("sdfs");
treeMap.remove("sdfs"); ```
```
### getLowerByKey ### getLowerByKey
getLowerByKey(key: K): K; getLowerByKey(key: K): K
获取容器中比传入key排序靠前一位的key。 获取容器中比传入key排序靠前一位的key。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| key | K | 是 | 对比的key值 | | -------- | -------- | -------- | -------- |
| key | K | 是 | 对比的key值。 |
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- |
| K | 返回排序中key前一位的数据 |
- 示例: | 类型 | 说明 |
``` | -------- | -------- |
let treeMap = new TreeMap(); | K | 返回排序中key前一位的数据。 |
treeMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
treeMap.set("sdfs", 356); **示例:**
treeMap.set("zdfgsd", 356);
let result = treeMap.getLowerByKey("sdfs"); ```
``` let treeMap = new TreeMap();
treeMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
treeMap.set("sdfs", 356);
treeMap.set("zdfgsd", 356);
let result = treeMap.getLowerByKey("sdfs");
```
### getHigherByKey ### getHigherByKey
getHigherByKey(key: K): K; getHigherByKey(key: K): K
获取容器中比传入key排序靠后一位的key。 获取容器中比传入key排序靠后一位的key。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| key | K | 是 | 对比的key值 | | -------- | -------- | -------- | -------- |
| key | K | 是 | 对比的key值。 |
**返回值:**
- 返回值: | 类型 | 说明 |
| 类型 | 说明 | | -------- | -------- |
| -------- | -------- | | K | 返回排序中key后一位的数据。 |
| K | 返回排序中key后一位的数据 |
- 示例: **示例:**
```
let treeMap = new TreeMap(); ```
treeMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); let treeMap = new TreeMap();
treeMap.set("sdfs", 356); treeMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
treeMap.set("zdfgsd", 356); treeMap.set("sdfs", 356);
let result = treeMap.getHigherByKey("sdfs"); treeMap.set("zdfgsd", 356);
``` let result = treeMap.getHigherByKey("sdfs");
```
### replace ### replace
replace(key: K, value: V): boolean; replace(key: K, value: V): boolean
对TreeMap中一组数据进行更新(替换)。 对TreeMap中一组数据进行更新(替换)。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| key | K | 是 | 依据key指定替换的元素 | | -------- | -------- | -------- | -------- |
| value | V | 是 | 添加成员数据的值 | | key | K | 是 | 依据key指定替换的元素。 |
| value | V | 是 | 添加成员数据的值。 |
**返回值:**
- 返回值: | 类型 | 说明 |
| 类型 | 说明 | | -------- | -------- |
| -------- | -------- | | boolean | 成功对已有数据进行替换返回true,否则返回false。 |
| boolean | 是否成功对已有数据进行替换 |
- 示例: **示例:**
```
let treeMap = new TreeMap(); ```
treeMap.set("sdfs", 123); let treeMap = new TreeMap();
treeMap.replace("sdfs", 357); treeMap.set("sdfs", 123);
``` treeMap.replace("sdfs", 357);
```
### clear ### clear
clear(): void; clear(): void
清除TreeMap中的所有元素,并把length置为0。 清除TreeMap中的所有元素并把length置为0。
- 示例: **示例:**
```
let treeMap = new TreeMap(); ```
treeMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); let treeMap = new TreeMap();
treeMap.set("sdfs", 356); treeMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
treeMap.clear(); treeMap.set("sdfs", 356);
``` treeMap.clear();
```
### keys ### keys
keys(): IterableIterator&lt;K&gt;; keys(): IterableIterator&lt;K&gt;
返回包含此映射中包含的键的新迭代器对象。 返回包含此映射中包含的键的新迭代器对象。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| IterableIterator&lt;K&gt; | 返回一个迭代器 | | -------- | -------- |
| IterableIterator&lt;K&gt; | 返回一个迭代器。 |
- 示例:
``` **示例:**
let treeMap = new TreeMap();
treeMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); ```
treeMap.set("sdfs", 356); let treeMap = new TreeMap();
let iter = treeMap.keys(); treeMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
let temp = iter.next().value; treeMap.set("sdfs", 356);
while(temp != undefined) { let iter = treeMap.keys();
let temp = iter.next().value;
while(temp != undefined) {
console.log(temp); console.log(temp);
temp = iter.next().value; temp = iter.next().value;
} }
``` ```
### values ### values
values(): IterableIterator&lt;V&gt;; values(): IterableIterator&lt;V&gt;
返回包含此映射中包含的键的新迭代器对象。 返回包含此映射中包含的键的新迭代器对象。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| IterableIterator&lt;V&gt; | 返回一个迭代器 | | -------- | -------- |
| IterableIterator&lt;V&gt; | 返回一个迭代器。 |
- 示例:
``` **示例:**
let treeMap = new TreeMap();
treeMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); ```
treeMap.set("sdfs", 356); let treeMap = new TreeMap();
let iter = treeMap.values(); treeMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
let temp = iter.next().value; treeMap.set("sdfs", 356);
while(temp != undefined) { let iter = treeMap.values();
let temp = iter.next().value;
while(temp != undefined) {
console.log(temp); console.log(temp);
temp = iter.next().value; temp = iter.next().value;
} }
``` ```
### forEach ### forEach
forEach(callbackfn: (value: V, key?: K, treeMap?: TreeMap<K, V>) => void, thisArg?: Object): void; forEach(callbackfn: (value: V, key?: K, treeMap?: TreeMap<K, V>) => void, thisArg?: Object): void
通过回调函数来遍历实例对象上的元素以及元素对应的下标。 通过回调函数来遍历实例对象上的元素以及元素对应的下标。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| callbackfn | function | 是 | 回调函数 | | -------- | -------- | -------- | -------- |
| thisArg | Object | 否 | callbackfn被调用时用作this值 | | callbackfn | function | 是 | 回调函数。 |
| thisArg | Object | 否 | callbackfn被调用时用作this值。 |
- callbackfn的参数说明
| 参数名 | 类型 | 必填 | 说明 | callbackfn的参数说明:
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| value | V | 是 | 当前遍历到的元素键值对的值 | | -------- | -------- | -------- | -------- |
| key | K | 是 | 当前遍历到的元素键值对的键 | | value | V | 是 | 当前遍历到的元素键值对的值。 |
| treeMap | TreeMap<K, V> | 否 | 当前调用forEach方法的实例对象 | | key | K | 是 | 当前遍历到的元素键值对的键。 |
| treeMap | TreeMap<K, V> | 否 | 当前调用forEach方法的实例对象。 |
- 示例:
``` **示例:**
let treeMap = new TreeMap();
treeMap.set("sdfs", 123); ```
treeMap.set("dfsghsf", 357); let treeMap = new TreeMap();
treeMap.forEach((value, key) => { treeMap.set("sdfs", 123);
treeMap.set("dfsghsf", 357);
treeMap.forEach((value, key) => {
console.log(value, key); console.log(value, key);
}); });
``` ```
### entries ### entries
entries(): IterableIterator<[K, V]>; entries(): IterableIterator<[K, V]>
返回包含此映射中包含的键的新迭代器对象。 返回包含此映射中包含的键的新迭代器对象。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| IterableIterator<[K, V]> | 返回一个迭代器 | | -------- | -------- |
| IterableIterator<[K, V]> | 返回一个迭代器。 |
- 示例:
``` **示例:**
let treeMap = new TreeMap();
treeMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); ```
treeMap.set("sdfs", 356); let treeMap = new TreeMap();
let iter = treeMap.entries(); treeMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
let temp = iter.next().value; treeMap.set("sdfs", 356);
while(temp != undefined) { let iter = treeMap.entries();
let temp = iter.next().value;
while(temp != undefined) {
console.log(temp[0]); console.log(temp[0]);
console.log(temp[1]); console.log(temp[1]);
temp = iter.next().value; temp = iter.next().value;
} }
``` ```
### [Symbol.iterator] ### [Symbol.iterator]
...@@ -446,31 +488,32 @@ entries(): IterableIterator<[K, V]>; ...@@ -446,31 +488,32 @@ entries(): IterableIterator<[K, V]>;
[Symbol.iterator]\(): IterableIterator&lt;[K, V]&gt;; [Symbol.iterator]\(): IterableIterator&lt;[K, V]&gt;;
返回一个迭代器,迭代器的每一项都是一个 JavaScript 对象,并返回该对象。 返回一个迭代器,迭代器的每一项都是一个 JavaScript 对象并返回该对象。
- 返回值: **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| IterableIterator<[K, V]> | 返回一个迭代器 | | IterableIterator<[K, V]> | 返回一个迭代器。 |
- 示例: **示例:**
```
let treeMap = new TreeMap();
treeMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
treeMap.set("sdfs", 356);
// 使用方法一: ```
for (let item of treeMap) { let treeMap = new TreeMap();
treeMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
treeMap.set("sdfs", 356);
// 使用方法一:
for (let item of treeMap) {
console.log("key: " + item[0]); console.log("key: " + item[0]);
console.log("value: " + item[1]); console.log("value: " + item[1]);
} }
// 使用方法二: // 使用方法二:
let iter = treeMap[Symbol.iterator](); let iter = treeMap[Symbol.iterator]();
let temp = iter.next().value; let temp = iter.next().value;
while(temp != undefined) { while(temp != undefined) {
console.log(temp[0]); console.log(temp[0]);
console.log(temp[1]); console.log(temp[1]);
temp = iter.next().value; temp = iter.next().value;
} }
``` ```
\ No newline at end of file \ No newline at end of file
...@@ -10,10 +10,9 @@ ...@@ -10,10 +10,9 @@
import TreeSet from '@ohos.util.TreeSet' import TreeSet from '@ohos.util.TreeSet'
``` ```
## 系统能力
## 权限 SystemCapability.Utils.Lang
## TreeSet ## TreeSet
...@@ -22,372 +21,408 @@ import TreeSet from '@ohos.util.TreeSet' ...@@ -22,372 +21,408 @@ import TreeSet from '@ohos.util.TreeSet'
| 名称 | 参数类型 | 可读 | 可写 | 说明 | | 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- | -------- |
| length | number | 是 | 否 | TreeSet的元素个数 | | length | number | 是 | 否 | TreeSet的元素个数 |
### constructor ### constructor
constructor(comparator?:(firstValue: T, secondValue: T) => boolean); constructor(comparator?:(firstValue: T, secondValue: T) => boolean)
TreeSet的构造函数。 TreeSet的构造函数。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| comparator | function | 否 | 用户自定义的比较函数 | | -------- | -------- | -------- | -------- |
| comparator | function | 否 | 用户自定义的比较函数。 |
**示例:**
- 示例: ```
``` let treeSet = new TreeSet();
let treeSet = new TreeSet(); ```
```
### isEmpty ### isEmpty
isEmpty(): boolean; isEmpty(): boolean
判断该容器是否为空。 判断该容器是否为空。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- |
| boolean | 为空返回true, 不为空返回false |
- 示例: | 类型 | 说明 |
``` | -------- | -------- |
const treeSet = new TreeSet(); | boolean | 为空返回true,不为空返回false。 |
treeSet.isEmpty();
``` **示例:**
```
const treeSet = new TreeSet();
treeSet.isEmpty();
```
### has ### has
has(value: T): boolean; has(value: T): boolean
判断此容器中是否含有该指定value。 判断此容器中是否含有该指定value。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| value | T | 是 | 指定元素 | | -------- | -------- | -------- | -------- |
| value | T | 是 | 指定元素。 |
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- |
| boolean | 是否包含指定元素 |
- 示例: | 类型 | 说明 |
``` | -------- | -------- |
let treeSet = new TreeSet(); | boolean | 包含指定元素返回true,否则返回false。 |
treeSet.has(123);
treeSet.add(123); **示例:**
treeSet.has(123);
``` ```
let treeSet = new TreeSet();
treeSet.has(123);
treeSet.add(123);
treeSet.has(123);
```
### getFirstValue ### getFirstValue
getFirstValue(): T; getFirstValue(): T
获取容器中排序第一的数据。 获取容器中排序第一的数据。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- |
| T | 返回排序第一的数据 |
- 示例: | 类型 | 说明 |
``` | -------- | -------- |
let treeSet = new TreeSet(); | T | 返回排序第一的数据。 |
treeSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
treeSet.add("sdfs"); **示例:**
let result = treeSet.getFirstValue();
``` ```
let treeSet = new TreeSet();
treeSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
treeSet.add("sdfs");
let result = treeSet.getFirstValue();
```
### getLastValue ### getLastValue
getLastValue(): T; getLastValue(): T
获取容器中排序最后的数据。 获取容器中排序最后的数据。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- |
| T | 返回排序最后的数据 |
- 示例: | 类型 | 说明 |
``` | -------- | -------- |
let treeSet = new TreeSet(); | T | 返回排序最后的数据。 |
treeSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
treeSet.add("sdfs"); **示例:**
let result = treeSet.getLastValue();
``` ```
let treeSet = new TreeSet();
treeSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
treeSet.add("sdfs");
let result = treeSet.getLastValue();
```
### add ### add
add(value: T): boolean; add(value: T): boolean
向TreeSet中添加一组数据。 向TreeSet中添加一组数据。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | T | 是 | 添加的成员数据 |
- 返回值: | 参数名 | 类型 | 必填 | 说明 |
| 类型 | 说明 | | -------- | -------- | -------- | -------- |
| -------- | -------- | | value | T | 是 | 添加的成员数据。 |
| boolean | 是否成功添加新数据至容器 |
- 示例: **返回值:**
```
let treeSet = new TreeSet(); | 类型 | 说明 |
treeSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); | -------- | -------- |
``` | boolean | 成功添加新数据至容器返回true,否则返回false。 |
**示例:**
```
let treeSet = new TreeSet();
treeSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
```
### remove ### remove
remove(key: T): boolean; remove(key: T): boolean
删除指定的元素。 删除指定的元素。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| key | T | 是 | 指定的元素 | | -------- | -------- | -------- | -------- |
| key | T | 是 | 指定的元素。 |
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断是否成功删除元素 |
- 示例: | 类型 | 说明 |
``` | -------- | -------- |
let treeSet = new TreeSet(); | boolean | 成功删除元素返回true,否则返回false。 |
treeSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
treeSet.add("sdfs"); **示例:**
treeSet.remove("sdfs");
``` ```
let treeSet = new TreeSet();
treeSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
treeSet.add("sdfs");
treeSet.remove("sdfs");
```
### getLowerValue ### getLowerValue
getLowerValue(key: T): T; getLowerValue(key: T): T
获取容器中比传入元素排序靠前一位的元素。 获取容器中比传入元素排序靠前一位的元素。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| key | T | 是 | 对比的元素值 | | -------- | -------- | -------- | -------- |
| key | T | 是 | 对比的元素值。 |
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- |
| T | 返回排序中对比元素前一位的数据 |
- 示例: | 类型 | 说明 |
``` | -------- | -------- |
let treeSet = new TreeSet(); | T | 返回排序中对比元素前一位的数据。 |
treeSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
treeSet.add("sdfs"); **示例:**
treeSet.add("zdfgsd");
let result = treeSet.getLowerValue("sdfs"); ```
``` let treeSet = new TreeSet();
treeSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
treeSet.add("sdfs");
treeSet.add("zdfgsd");
let result = treeSet.getLowerValue("sdfs");
```
### getHigherValue ### getHigherValue
getHigherValue(key: T): T; getHigherValue(key: T): T
获取容器中比传入元素排序靠后一位的元素。 获取容器中比传入元素排序靠后一位的元素。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| key | T | 是 | 对比的元素 |
- 返回值: | 参数名 | 类型 | 必填 | 说明 |
| 类型 | 说明 | | -------- | -------- | -------- | -------- |
| -------- | -------- | | key | T | 是 | 对比的元素。 |
| T | 返回排序中传入元素后一位的数据 |
- 示例: **返回值:**
```
let treeSet = new TreeSet(); | 类型 | 说明 |
treeSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); | -------- | -------- |
treeSet.add("sdfs"); | T | 返回排序中传入元素后一位的数据 |
treeSet.add("zdfgsd");
let result = treeSet.getHigherValue("sdfs"); **示例:**
```
```
let treeSet = new TreeSet();
treeSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
treeSet.add("sdfs");
treeSet.add("zdfgsd");
let result = treeSet.getHigherValue("sdfs");
```
### popFirst ### popFirst
popFirst(): T; popFirst(): T
删除容器中排序最前的数据。 删除容器中排序最前的数据。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- |
| T | 返回删除的数据 |
- 示例: | 类型 | 说明 |
``` | -------- | -------- |
let treeSet = new TreeSet(); | T | 返回删除的数据。 |
treeSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
treeSet.add("sdfs"); **返回值:**
let result = treeSet.popFirst();
``` ```
let treeSet = new TreeSet();
treeSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
treeSet.add("sdfs");
let result = treeSet.popFirst();
```
### popLast ### popLast
popLast(): T; popLast(): T
删除容器中排序最后的数据。 删除容器中排序最后的数据。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- |
| T | 返回删除的数据 |
- 示例: | 类型 | 说明 |
``` | -------- | -------- |
let treeSet = new TreeSet(); | T | 返回删除的数据 |
treeSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
treeSet.add("sdfs"); **返回值:**
let result = treeSet.popLast();
``` ```
let treeSet = new TreeSet();
treeSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
treeSet.add("sdfs");
let result = treeSet.popLast();
```
### clear ### clear
clear(): void; clear(): void
清除容器中的所有元素,并把length置为0。 清除容器中的所有元素并把length置为0。
- 示例: **示例:**
```
let treeSet = new TreeSet(); ```
treeSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); let treeSet = new TreeSet();
treeSet.add("sdfs"); treeSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
treeSet.clear(); treeSet.add("sdfs");
``` treeSet.clear();
```
### values ### values
values(): IterableIterator&lt;T&gt;; values(): IterableIterator&lt;T&gt;
返回包含此映射中包含的键的新迭代器对象。 返回包含此映射中包含的键的新迭代器对象。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| IterableIterator&lt;T&gt; | 返回一个迭代器 | | -------- | -------- |
| IterableIterator&lt;T&gt; | 返回一个迭代器。 |
- 示例:
``` **示例:**
let treeSet = new TreeSet();
treeSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); ```
treeSet.add("sdfs"); let treeSet = new TreeSet();
let iter = treeSet.values(); treeSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
let temp = iter.next().value; treeSet.add("sdfs");
while(temp != undefined) { let iter = treeSet.values();
let temp = iter.next().value;
while(temp != undefined) {
console.log(temp); console.log(temp);
temp = iter.next().value; temp = iter.next().value;
} }
``` ```
### forEach ### forEach
forEach(callbackfn: (value: T, key?: T, treeSet?: TreeSet&lt;T&gt;) => void, thisArg?: Object): void; forEach(callbackfn: (value: T, key?: T, treeSet?: TreeSet&lt;T&gt;) => void, thisArg?: Object): void
通过回调函数来遍历实例对象上的元素以及元素对应的下标。 通过回调函数来遍历实例对象上的元素以及元素对应的下标。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| callbackfn | function | 是 | 回调函数 | | -------- | -------- | -------- | -------- |
| thisArg | Object | 否 | callbackfn被调用时用作this值 | | callbackfn | function | 是 | 回调函数。 |
| thisArg | Object | 否 | callbackfn被调用时用作this值。 |
- callbackfn的参数说明
| 参数名 | 类型 | 必填 | 说明 | callbackfn的参数说明:
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| value | T | 是 | 当前遍历到的元素 | | -------- | -------- | -------- | -------- |
| key | T | 否 | 当前遍历到的元素(和value相同). | | value | T | 是 | 当前遍历到的元素。 |
| treeSet | TreeSet&lt;T&gt; | 否 | 当前调用forEach方法的实例对象 | | key | T | 否 | 当前遍历到的元素(和value相同)。 |
| treeSet | TreeSet&lt;T&gt; | 否 | 当前调用forEach方法的实例对象。 |
- 示例:
``` **示例:**
let treeSet = new TreeSet();
treeSet.add("sdfs"); ```
treeSet.add("dfsghsf"); let treeSet = new TreeSet();
treeSet.forEach((value, key) => { treeSet.add("sdfs");
treeSet.add("dfsghsf");
treeSet.forEach((value, key) => {
console.log(value, key) console.log(value, key)
}); });
``` ```
### entries ### entries
entries(): IterableIterator<[T, T]>; entries(): IterableIterator<[T, T]>
返回包含此映射中包含的键的新迭代器对象。 返回包含此映射中包含的键的新迭代器对象。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| IterableIterator<[T, T]> | 返回一个迭代器 | | -------- | -------- |
| IterableIterator<[T, T]> | 返回一个迭代器。 |
- 示例:
``` **示例:**
let treeSet = new TreeSet();
treeSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); ```
treeSet.add("sdfs"); let treeSet = new TreeSet();
let iter = treeSet.entries(); treeSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
let temp = iter.next().value; treeSet.add("sdfs");
while(temp != undefined) { let iter = treeSet.entries();
let temp = iter.next().value;
while(temp != undefined) {
console.log(temp[0]); console.log(temp[0]);
console.log(temp[1]); console.log(temp[1]);
temp = iter.next().value; temp = iter.next().value;
} }
``` ```
### [Symbol.iterator] ### [Symbol.iterator]
[Symbol.iterator]\(): IterableIterator&lt;T&gt;; [Symbol.iterator]\(): IterableIterator&lt;T&gt;
返回一个迭代器,迭代器的每一项都是一个 JavaScript 对象,并返回该对象。 返回一个迭代器,迭代器的每一项都是一个 JavaScript 对象,并返回该对象。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- |
| IterableIterator&lt;T&gt; | 返回一个迭代器 |
- 示例: | 类型 | 说明 |
``` | -------- | -------- |
let treeSet = new TreeSet(); | IterableIterator&lt;T&gt; | 返回一个迭代器 |
treeSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
treeSet.add("sdfs");
// 使用方法一: **示例:**
for (let item of treeSet) {
```
let treeSet = new TreeSet();
treeSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
treeSet.add("sdfs");
// 使用方法一:
for (let item of treeSet) {
console.log("value: " + item); console.log("value: " + item);
} }
// 使用方法二: // 使用方法二:
let iter = treeSet[Symbol.iterator](); let iter = treeSet[Symbol.iterator]();
let temp = iter.next().value; let temp = iter.next().value;
while(temp != undefined) { while(temp != undefined) {
console.log(temp); console.log(temp);
temp = iter.next().value; temp = iter.next().value;
} }
``` ```
\ No newline at end of file \ No newline at end of file
...@@ -10,6 +10,10 @@ ...@@ -10,6 +10,10 @@
import uri from '@ohos.uri' import uri from '@ohos.uri'
``` ```
## 系统能力
SystemCapability.Utils.Lang
## URI ## URI
...@@ -34,19 +38,21 @@ constructor(uri: string) ...@@ -34,19 +38,21 @@ constructor(uri: string)
constructor是URI的构造函数。 constructor是URI的构造函数。
- 参数: **参数:**
| 参数名 | 类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- |
| url | string | 是 | 是 | 入参对象。 |
- 示例: | 参数名 | 类型 | 可读 | 可写 | 说明 |
``` | -------- | -------- | -------- | -------- | -------- |
var mm = 'http://username:password@host:8080/directory/file?foo=1&bar=2#fragment'; | url | string | 是 | 是 | 入参对象。 |
new uri.URI(mm); // Output 'http://username:password@host:8080/directory/file?foo=1&bar=2#fragment';
``` **示例:**
```
new uri.URI('http://username:password@host:8080'); // Output 'http://username:password@host:8080'; ```
``` var mm = 'http://username:password@host:8080/directory/file?foo=1&bar=2#fragment';
new uri.URI(mm); // Output 'http://username:password@host:8080/directory/file?foo=1&bar=2#fragment';
```
```
new uri.URI('http://username:password@host:8080'); // Output 'http://username:password@host:8080';
```
### toString ### toString
...@@ -55,16 +61,18 @@ toString(): string ...@@ -55,16 +61,18 @@ toString(): string
返回适用于URL中的查询字符串。 返回适用于URL中的查询字符串。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| string | 返回网址的字符串序列化。 | | -------- | -------- |
| string | 返回网址的字符串序列化。 |
- 示例: **示例:**
```
const url = new uri.URL('http://username:password@host:8080/directory/file?query=pppppp#qwer=da'); ```
url.toString() const url = new uri.URL('http://username:password@host:8080/directory/file?query=pppppp#qwer=da');
``` url.toString()
```
### equals ### equals
...@@ -73,22 +81,25 @@ equals(other: URI): boolean ...@@ -73,22 +81,25 @@ equals(other: URI): boolean
判断此URI是否与其他URI对象相等。 判断此URI是否与其他URI对象相等。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| other | [URI](#uri) | 是 | 需要比较的URI对象。 |
- 返回值: | 参数名 | 类型 | 必填 | 说明 |
| 类型 | 说明 | | -------- | -------- | -------- | -------- |
| -------- | -------- | | other | [URI](#uri) | 是 | 需要比较的URI对象。 |
| boolean | 返回true表示相等,否则返回false。 |
- 示例: **返回值:**
```
const uriInstance = new uri.URI('http://username:password@host:8080/directory/file?query=pppppp#qwer=da'); | 类型 | 说明 |
const uriInstance1 = new uri.URI('http://username:password@host:8080/directory/file?query=pppppp#qwer=da#fragment'); | -------- | -------- |
uriInstance.equals(uriInstance1); | boolean | 返回true表示相等,否则返回false。 |
```
**示例:**
```
const uriInstance = new uri.URI('http://username:password@host:8080/directory/file?query=pppppp#qwer=da');
const uriInstance1 = new uri.URI('http://username:password@host:8080/directory/file?query=pppppp#qwer=da#fragment');
uriInstance.equals(uriInstance1);
```
### checkIsAbsolute ### checkIsAbsolute
...@@ -96,16 +107,18 @@ checkIsAbsolute(): boolean ...@@ -96,16 +107,18 @@ checkIsAbsolute(): boolean
判断此URI是否为绝对URI(是否定义了scheme组件)。 判断此URI是否为绝对URI(是否定义了scheme组件)。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- |
| boolean | 返回true表示该URI是否为绝对URI。 |
- 示例: | 类型 | 说明 |
``` | -------- | -------- |
const uriInstance = new uri.URI('http://username:password@www.qwer.com:8080?query=pppppp'); | boolean | 返回true表示该URI是否为绝对URI。 |
uriInstance.checkIsAbsolute();
``` **示例:**
```
const uriInstance = new uri.URI('http://username:password@www.qwer.com:8080?query=pppppp');
uriInstance.checkIsAbsolute();
```
### normalize ### normalize
...@@ -114,14 +127,15 @@ normalize(): URI ...@@ -114,14 +127,15 @@ normalize(): URI
规范化此URI的路径。 规范化此URI的路径。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| URI | 返回一个path被规范化后的URI对象。 | | -------- | -------- |
| URI | 返回一个path被规范化后的URI对象。 |
- 示例:
``` **示例:**
const uriInstance = new uri.URI('http://username:password@www.qwer.com:8080/path/path1/../path2/./path3?query=pppppp'); ```
let uriInstance1 = uriInstance.normalize(); const uriInstance = new uri.URI('http://username:password@www.qwer.com:8080/path/path1/../path2/./path3?query=pppppp');
uriInstance1.path; let uriInstance1 = uriInstance.normalize();
``` uriInstance1.path;
```
...@@ -10,6 +10,9 @@ ...@@ -10,6 +10,9 @@
import Url from '@ohos.url' import Url from '@ohos.url'
``` ```
## 系统能力
SystemCapability.Utils.Lang
## URLSearchParams ## URLSearchParams
...@@ -20,19 +23,21 @@ constructor(init?: string[][] | Record&lt;string, string&gt; | string | URLSearc ...@@ -20,19 +23,21 @@ constructor(init?: string[][] | Record&lt;string, string&gt; | string | URLSearc
URLSearchParams的构造函数。 URLSearchParams的构造函数。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| init | string[][]&nbsp;\|&nbsp;Record&lt;string,&nbsp;string&gt;&nbsp;\|&nbsp;string&nbsp;\|&nbsp;URLSearchParams | 否 | 入参对象。<br/>-&nbsp;string[][]:字符串二维数组<br/>-&nbsp;Record&lt;string,&nbsp;string&gt;:对象列表<br/>-&nbsp;string:字符串<br/>-&nbsp;URLSearchParams:对象 | | -------- | -------- | -------- | -------- |
| init | string[][]&nbsp;\|&nbsp;Record&lt;string,&nbsp;string&gt;&nbsp;\|&nbsp;string&nbsp;\|&nbsp;URLSearchParams | 否 | 入参对象。<br/>-&nbsp;string[][]:字符串二维数组<br/>-&nbsp;Record&lt;string,&nbsp;string&gt;:对象列表<br/>-&nbsp;string:字符串<br/>-&nbsp;URLSearchParams:对象 |
- 示例: **示例:**
```
var objectParams = new URLSearchParams([ ['user1', 'abc1'], ['query2', 'first2'], ['query3', 'second3'] ]); ```
var objectParams1 = new URLSearchParams({"fod" : 1 , "bard" : 2}); var objectParams = new URLSearchParams([ ['user1', 'abc1'], ['query2', 'first2'], ['query3', 'second3'] ]);
var objectParams2 = new URLSearchParams('?fod=1&bard=2'); var objectParams1 = new URLSearchParams({"fod" : 1 , "bard" : 2});
var urlObject = new URL('https://developer.mozilla.org/?fod=1&bard=2'); var objectParams2 = new URLSearchParams('?fod=1&bard=2');
var params = new URLSearchParams(urlObject .search); var urlObject = new URL('https://developer.mozilla.org/?fod=1&bard=2');
``` var params = new URLSearchParams(urlObject .search);
```
### append ### append
...@@ -41,18 +46,20 @@ append(name: string, value: string): void ...@@ -41,18 +46,20 @@ append(name: string, value: string): void
将新的键值对插入到查询字符串。 将新的键值对插入到查询字符串。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| name | string | 是 | 需要插入搜索参数的键名。 | | -------- | -------- | -------- | -------- |
| value | string | 是 | 需要插入搜索参数的值。 | | name | string | 是 | 需要插入搜索参数的键名。 |
| value | string | 是 | 需要插入搜索参数的值。 |
- 示例: **示例:**
```
let urlObject = new URL('https://developer.exampleUrl/?fod=1&bard=2'); ```
let paramsObject = new URLSearchParams(urlObject.search.slice(1)); let urlObject = new URL('https://developer.exampleUrl/?fod=1&bard=2');
paramsObject.append('fod', 3); let paramsObject = new URLSearchParams(urlObject.search.slice(1));
``` paramsObject.append('fod', 3);
```
### delete ### delete
...@@ -61,17 +68,19 @@ delete(name: string): void ...@@ -61,17 +68,19 @@ delete(name: string): void
删除指定名称的键值对。 删除指定名称的键值对。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| name | string | 是 | 需要删除的键值名称。 | | -------- | -------- | -------- | -------- |
| name | string | 是 | 需要删除的键值名称。 |
- 示例: **示例:**
```
let urlObject = new URL('https://developer.exampleUrl/?fod=1&bard=2'); ```
let paramsobject = new URLSearchParams(urlObject.search.slice(1)); let urlObject = new URL('https://developer.exampleUrl/?fod=1&bard=2');
paramsobject.delete('foo'); let paramsobject = new URLSearchParams(urlObject.search.slice(1));
``` paramsobject.delete('foo');
```
### getAll ### getAll
...@@ -80,23 +89,26 @@ getAll(name: string): string[] ...@@ -80,23 +89,26 @@ getAll(name: string): string[]
获取指定名称的所有键值对。 获取指定名称的所有键值对。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| name | string | 是 | 指定的键值名称。 | | -------- | -------- | -------- | -------- |
| name | string | 是 | 指定的键值名称。 |
**返回值:**
- 返回值: | 类型 | 说明 |
| 类型 | 说明 | | -------- | -------- |
| -------- | -------- | | string[] | 返回指定名称的所有键值对。 |
| string[] | 返回指定名称的所有键值对。 |
- 示例: **示例:**
```
let urlObject = new URL('https://developer.exampleUrl/?fod=1&bard=2'); ```
let paramsObject = new URLSearchParams(urlObject.search.slice(1)); let urlObject = new URL('https://developer.exampleUrl/?fod=1&bard=2');
paramsObject.append('fod', 3); // Add a second value for the foo parameter. let paramsObject = new URLSearchParams(urlObject.search.slice(1));
console.log(params.getAll('fod')) // Output ["1","3"]. paramsObject.append('fod', 3); // Add a second value for the foo parameter.
``` console.log(params.getAll('fod')) // Output ["1","3"].
```
### entries ### entries
...@@ -105,18 +117,20 @@ entries(): IterableIterator&lt;[string, string]&gt; ...@@ -105,18 +117,20 @@ entries(): IterableIterator&lt;[string, string]&gt;
返回一个ES6的迭代器,迭代器的每一项都是一个 JavaScript Array。Array的第一项是name,Array的第二项是value。 返回一个ES6的迭代器,迭代器的每一项都是一个 JavaScript Array。Array的第一项是name,Array的第二项是value。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| IterableIterator&lt;[string,&nbsp;string]&gt; | 返回一个ES6的迭代器。 | | -------- | -------- |
| IterableIterator&lt;[string,&nbsp;string]&gt; | 返回一个ES6的迭代器。 |
- 示例: **示例:**
```
var searchParamsObject = new URLSearchParams("keyName1=valueName1&keyName2=valueName2"); ```
for (var pair of searchParamsObject .entries()) { // Show keyName/valueName pairs var searchParamsObject = new URLSearchParams("keyName1=valueName1&keyName2=valueName2");
for (var pair of searchParamsObject .entries()) { // Show keyName/valueName pairs
console.log(pair[0]+ ', '+ pair[1]); console.log(pair[0]+ ', '+ pair[1]);
} }
``` ```
### forEach ### forEach
...@@ -125,27 +139,29 @@ forEach(callbackfn: (value: string, key: string, searchParams: Object) =&gt; voi ...@@ -125,27 +139,29 @@ forEach(callbackfn: (value: string, key: string, searchParams: Object) =&gt; voi
通过回调函数来遍历URLSearchParams实例对象上的键值对。 通过回调函数来遍历URLSearchParams实例对象上的键值对。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| callbackfn | function | 是 | 回调函数。 | | -------- | -------- | -------- | -------- |
| thisArg | Object | 否 | callbackfn被调用时用作this值 | | callbackfn | function | 是 | 回调函数。 |
| thisArg | Object | 否 | callbackfn被调用时用作this值 |
**表1** callbackfn的参数说明 **表1** callbackfn的参数说明
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| value | string | 是 | 当前遍历到的键值。 | | value | string | 是 | 当前遍历到的键值。 |
| key | string | 是 | 当前遍历到的键名。 | | key | string | 是 | 当前遍历到的键名。 |
| searchParams | Object | 是 | 当前调用forEach方法的实例对象。 | | searchParams | Object | 是 | 当前调用forEach方法的实例对象。 |
- 示例: **示例:**
```
const myURLObject = new URL('https://developer.exampleUrl/?fod=1&bard=2'); ```
myURLObject.searchParams.forEach((value, name, searchParams) => { const myURLObject = new URL('https://developer.exampleUrl/?fod=1&bard=2');
myURLObject.searchParams.forEach((value, name, searchParams) => {
console.log(name, value, myURLObject.searchParams === searchParams); console.log(name, value, myURLObject.searchParams === searchParams);
}); });
``` ```
### get ### get
...@@ -154,24 +170,27 @@ get(name: string): string | null ...@@ -154,24 +170,27 @@ get(name: string): string | null
获取指定名称对应的第一个值。 获取指定名称对应的第一个值。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| name | string | 是 | 指定键值对的名称。 | | -------- | -------- | -------- | -------- |
| name | string | 是 | 指定键值对的名称。 |
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- |
| string | 返回第一个值。 |
| null | 如果没找到,返回&nbsp;null。 |
- 示例: | 类型 | 说明 |
``` | -------- | -------- |
var paramsOject = new URLSearchParams(document.location.search.substring(1)); | string | 返回第一个值。 |
var name = paramsOject.get("name"); // is the string "Jonathan" | null | 如果没找到,返回&nbsp;null。 |
var age = parseInt(paramsOject.get("age"), 10); // is the number 18
var address = paramsOject.get("address"); // null **示例:**
```
```
var paramsOject = new URLSearchParams(document.location.search.substring(1));
var name = paramsOject.get("name"); // is the string "Jonathan"
var age = parseInt(paramsOject.get("age"), 10); // is the number 18
var address = paramsOject.get("address"); // null
```
### has ### has
...@@ -179,22 +198,26 @@ get(name: string): string | null ...@@ -179,22 +198,26 @@ get(name: string): string | null
has(name: string): boolean has(name: string): boolean
判断一个指定的键名对应的值是否存在。 判断一个指定的键名对应的值是否存在。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| name | string | 是 | 要查找的参数的键名。 |
- 返回值: **参数:**
| 类型 | 说明 |
| -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| boolean | 是否存在相对应的key值,存在返回true,否则返回false。 | | -------- | -------- | -------- | -------- |
| name | string | 是 | 要查找的参数的键名。 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| boolean | 是否存在相对应的key值,存在返回true,否则返回false。 |
- 示例: **示例:**
```
let urlObject = new URL('https://developer.exampleUrl/?fod=1&bard=2'); ```
let paramsObject = new URLSearchParams(urlObject.search.slice(1)); let urlObject = new URL('https://developer.exampleUrl/?fod=1&bard=2');
paramsObject.has('bard') === true; let paramsObject = new URLSearchParams(urlObject.search.slice(1));
``` paramsObject.has('bard') === true;
```
### set ### set
...@@ -203,18 +226,20 @@ set(name: string, value: string): void ...@@ -203,18 +226,20 @@ set(name: string, value: string): void
将与name关联的URLSearchParams对象中的值设置为value。如果存在名称为name的键值对,请将第一个键值对的值设置为value并删除所有其他值。如果不是,则将键值对附加到查询字符串。 将与name关联的URLSearchParams对象中的值设置为value。如果存在名称为name的键值对,请将第一个键值对的值设置为value并删除所有其他值。如果不是,则将键值对附加到查询字符串。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| name | string | 是 | 将要设置的参数的键值名。 |
| value | string | 是 | 所要设置的参数值。 |
- 示例: | 参数名 | 类型 | 必填 | 说明 |
``` | -------- | -------- | -------- | -------- |
let urlObject = new URL('https://developer.exampleUrl/?fod=1&bard=2'); | name | string | 是 | 将要设置的参数的键值名。 |
let paramsObject = new URLSearchParams(urlObject.search.slice(1)); | value | string | 是 | 所要设置的参数值。 |
paramsObject.set('baz', 3); // Add a third parameter.
``` **示例:**
```
let urlObject = new URL('https://developer.exampleUrl/?fod=1&bard=2');
let paramsObject = new URLSearchParams(urlObject.search.slice(1));
paramsObject.set('baz', 3); // Add a third parameter.
```
### sort ### sort
...@@ -224,13 +249,13 @@ sort(): void ...@@ -224,13 +249,13 @@ sort(): void
对包含在此对象中的所有键值对进行排序,并返回undefined。排序顺序是根据键的Unicode代码点。该方法使用稳定的排序算法 (即,将保留具有相等键的键值对之间的相对顺序)。 对包含在此对象中的所有键值对进行排序,并返回undefined。排序顺序是根据键的Unicode代码点。该方法使用稳定的排序算法 (即,将保留具有相等键的键值对之间的相对顺序)。
**示例:**
- 示例: ```
``` var searchParamsObject = new URLSearchParams("c=3&a=9&b=4&d=2"); // Create a test URLSearchParams object
var searchParamsObject = new URLSearchParams("c=3&a=9&b=4&d=2"); // Create a test URLSearchParams object searchParamsObject.sort(); // Sort the key/value pairs
searchParamsObject.sort(); // Sort the key/value pairs console.log(searchParamsObject.toString()); // Display the sorted query string // Output a=9&b=2&c=3&d=4
console.log(searchParamsObject.toString()); // Display the sorted query string // Output a=9&b=2&c=3&d=4 ```
```
### keys ### keys
...@@ -240,20 +265,20 @@ keys(): IterableIterator&lt;string&gt; ...@@ -240,20 +265,20 @@ keys(): IterableIterator&lt;string&gt;
返回一个所有键值对的name的ES6迭代器。 返回一个所有键值对的name的ES6迭代器。
**返回值:**
- 返回值: | 类型 | 说明 |
| 类型 | 说明 | | -------- | -------- |
| -------- | -------- | | IterableIterator&lt;string&gt; | 返回一个所有键值对的name的ES6迭代器。 |
| IterableIterator&lt;string&gt; | 返回一个所有键值对的name的ES6迭代器。 |
**示例:**
- 示例: ```
``` var searchParamsObject = new URLSearchParams("key1=value1&key2=value2"); // Create a URLSearchParamsObject object for testing
var searchParamsObject = new URLSearchParams("key1=value1&key2=value2"); // Create a URLSearchParamsObject object for testing for (var key of searchParamsObject .keys()) { // Output key-value pairs
for (var key of searchParamsObject .keys()) { // Output key-value pairs
console.log(key); console.log(key);
} }
``` ```
### values ### values
...@@ -262,41 +287,43 @@ values(): IterableIterator&lt;string&gt; ...@@ -262,41 +287,43 @@ values(): IterableIterator&lt;string&gt;
返回一个所有键值对的value的ES6迭代器。 返回一个所有键值对的value的ES6迭代器。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- |
| IterableIterator&lt;string&gt; | 返回一个所有键值对的value的ES6迭代器。 |
- 示例 | 类型 | 说明 |
``` | -------- | -------- |
var searchParams = new URLSearchParams("key1=value1&key2=value2"); // Create a URLSearchParamsObject object for testing | IterableIterator&lt;string&gt; | 返回一个所有键值对的value的ES6迭代器。 |
for (var value of searchParams.values()) {
**示例:**
```
var searchParams = new URLSearchParams("key1=value1&key2=value2"); // Create a URLSearchParamsObject object for testing
for (var value of searchParams.values()) {
console.log(value); console.log(value);
} }
``` ```
### [Symbol.iterator] ### [Symbol.iterator]
[Symbol.iterator](): IterableIterator&lt;[string, string]&gt; [Symbol.iterator]\(): IterableIterator&lt;[string, string]&gt;
返回一个ES6的迭代器,迭代器的每一项都是一个 JavaScript Array。Array的第一项是name,Array的第二项是value。 返回一个ES6的迭代器,迭代器的每一项都是一个 JavaScript Array。Array的第一项是name,Array的第二项是value。
**返回值:**
- 返回值: | 类型 | 说明 |
| 类型 | 说明 | | -------- | -------- |
| -------- | -------- | | IterableIterator&lt;[string,&nbsp;string]&gt; | 返回一个ES6的迭代器。 |
| IterableIterator&lt;[string,&nbsp;string]&gt; | 返回一个ES6的迭代器。 |
**示例:**
- 示例: ```
``` const paramsObject = new URLSearchParams('fod=bay&edg=bap');
const paramsObject = new URLSearchParams('fod=bay&edg=bap'); for (const [name, value] of paramsObject) {
for (const [name, value] of paramsObject) {
console.log(name, value); console.log(name, value);
} }
``` ```
### tostring ### tostring
...@@ -306,20 +333,20 @@ toString(): string ...@@ -306,20 +333,20 @@ toString(): string
返回序列化为字符串的搜索参数,必要时对字符进行百分比编码。 返回序列化为字符串的搜索参数,必要时对字符进行百分比编码。
**返回值:**
- 返回值: | 类型 | 说明 |
| 类型 | 说明 | | -------- | -------- |
| -------- | -------- | | string | 返回序列化为字符串的搜索参数,必要时对字符进行百分比编码。 |
| string | 返回序列化为字符串的搜索参数,必要时对字符进行百分比编码。 |
**示例:**
- 示例: ```
``` let url = new URL('https://developer.exampleUrl/?fod=1&bard=2');
let url = new URL('https://developer.exampleUrl/?fod=1&bard=2'); let params = new URLSearchParams(url.search.slice(1));
let params = new URLSearchParams(url.search.slice(1)); params.append('fod', 3);
params.append('fod', 3); console.log(params.toString());
console.log(params.toString()); ```
```
## URL ## URL
...@@ -350,29 +377,29 @@ constructor(url: string, base?: string | URL) ...@@ -350,29 +377,29 @@ constructor(url: string, base?: string | URL)
URL的构造函数。 URL的构造函数。
**参数:**
- 参数: | 参数名 | 类型 | 必填 | 说明 |
| 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- |
| -------- | -------- | -------- | -------- | | url | string | 是 | 入参对象。 |
| url | string | 是 | 入参对象。 | | base | string&nbsp;\|&nbsp;URL | 否 | 入参字符串或者对象。<br/>-&nbsp;string:字符串<br/>-&nbsp;URL:字符串或对象 |
| base | string&nbsp;\|&nbsp;URL | 否 | 入参字符串或者对象。<br/>-&nbsp;string:字符串<br/>-&nbsp;URL:字符串或对象 |
**示例:**
- 示例: ```
``` var mm = 'http://username:password@host:8080';
var mm = 'http://username:password@host:8080'; var a = new URL("/", mm); // Output 'http://username:password@host:8080/';
var a = new URL("/", mm); // Output 'http://username:password@host:8080/'; var b = new URL(mm); // Output 'http://username:password@host:8080/';
var b = new URL(mm); // Output 'http://username:password@host:8080/'; new URL('path/path1', b); // Output 'http://username:password@host:8080/path/path1';
new URL('path/path1', b); // Output 'http://username:password@host:8080/path/path1'; var c = new URL('/path/path1', b); // Output 'http://username:password@host:8080/path/path1';
var c = new URL('/path/path1', b); // Output 'http://username:password@host:8080/path/path1'; new URL('/path/path1', c); // Output 'http://username:password@host:8080/path/path1';
new URL('/path/path1', c); // Output 'http://username:password@host:8080/path/path1'; new URL('/path/path1', a); // Output 'http://username:password@host:8080/path/path1';
new URL('/path/path1', a); // Output 'http://username:password@host:8080/path/path1'; new URL('/path/path1', "https://www.exampleUrl/fr-FR/toto"); // Output https://www.exampleUrl/path/path1
new URL('/path/path1', "https://www.exampleUrl/fr-FR/toto"); // Output https://www.exampleUrl/path/path1 new URL('/path/path1', ''); // Raises a TypeError exception as '' is not a valid URL
new URL('/path/path1', ''); // Raises a TypeError exception as '' is not a valid URL new URL('/path/path1'); // Raises a TypeError exception as '/path/path1' is not a valid URL
new URL('/path/path1'); // Raises a TypeError exception as '/path/path1' is not a valid URL new URL('http://www.shanxi.com', ); // Output http://www.shanxi.com/
new URL('http://www.shanxi.com', ); // Output http://www.shanxi.com/ new URL('http://www.shanxi.com', b); // Output http://www.shanxi.com/
new URL('http://www.shanxi.com', b); // Output http://www.shanxi.com/ ```
```
### tostring ### tostring
...@@ -381,18 +408,18 @@ toString(): string ...@@ -381,18 +408,18 @@ toString(): string
将解析过后的URL转化为字符串。 将解析过后的URL转化为字符串。
**返回值:**
- 返回值: | 类型 | 说明 |
| 类型 | 说明 | | -------- | -------- |
| -------- | -------- | | string | 用于返回网址的字符串序列化。 |
| string | 用于返回网址的字符串序列化。 |
**示例:**
- 示例: ```
``` const url = new URL('http://username:password@host:8080/directory/file?query=pppppp#qwer=da');
const url = new URL('http://username:password@host:8080/directory/file?query=pppppp#qwer=da'); url.toString()
url.toString() ```
```
### toJSON ### toJSON
...@@ -402,15 +429,14 @@ toJSON(): string ...@@ -402,15 +429,14 @@ toJSON(): string
将解析过后的URL转化为JSON字符串。 将解析过后的URL转化为JSON字符串。
**返回值:**
- 返回值: | 类型 | 说明 |
| 类型 | 说明 | | -------- | -------- |
| -------- | -------- | | string | 用于返回网址的字符串序列化。 |
| string | 用于返回网址的字符串序列化。 |
**示例:**
- 示例: ```
``` const url = new URL('http://username:password@host:8080/directory/file?query=pppppp#qwer=da');
const url = new URL('http://username:password@host:8080/directory/file?query=pppppp#qwer=da'); url.toJSON()
url.toJSON() ```
```
...@@ -10,6 +10,9 @@ ...@@ -10,6 +10,9 @@
import userIAM_userAuth from '@ohos.userIAM.userAuth'; import userIAM_userAuth from '@ohos.userIAM.userAuth';
``` ```
## 系统能力
SystemCapability.UserIAM.UserAuth
## 权限列表 ## 权限列表
......
...@@ -14,6 +14,9 @@ ...@@ -14,6 +14,9 @@
import util from '@ohos.util'; import util from '@ohos.util';
``` ```
## 系统能力
SystemCapability.Utils.Lang
## util.printf ## util.printf
......
...@@ -10,10 +10,9 @@ ...@@ -10,10 +10,9 @@
import Vector from '@ohos.util.Vector' import Vector from '@ohos.util.Vector'
``` ```
## 系统能力
## 权限 SystemCapability.Utils.Lang
## Vector ## Vector
...@@ -23,662 +22,733 @@ import Vector from '@ohos.util.Vector' ...@@ -23,662 +22,733 @@ import Vector from '@ohos.util.Vector'
| 名称 | 参数类型 | 可读 | 可写 | 说明 | | 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- | -------- |
| length | number | 是 | 否 | Vector的元素个数 | | length | number | 是 | 否 | Vector的元素个数 |
### constructor ### constructor
constructor(); constructor()
Vector的构造函数。 Vector的构造函数。
- 示例: **示例:**
```
let vector = new Vector(); ```
``` let vector = new Vector();
```
### add ### add
add(element: T): boolean; add(element: T): boolean
在Vector中尾部插入元素。
**参数:**
在Vector中尾部插入元素 | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| element | T | 是 | 添加进去的元素 |
- 参数: **返回值:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| element | T | 是 | 添加进去的元素 |
- 返回值: | 类型 | 说明 |
| 类型 | 说明 | | -------- | -------- |
| -------- | -------- | | boolean | 插入成功返回true,失败返回false |
| boolean | 插入成功返回true,失败返回false |
- 示例: **示例:**
```
let vector = new Vector(); ```
vector.add("a"); let vector = new Vector();
vector.add(1); vector.add("a");
let b = [1, 2, 3]; vector.add(1);
vector.add(b); let b = [1, 2, 3];
let c = {name : "lala", age : "13"}; vector.add(b);
vector.add(false); let c = {name : "lala", age : "13"};
``` vector.add(false);
```
### insert ### insert
insert(element: T, index: number): void; insert(element: T, index: number): void
在长度范围内任意插入指定元素。 在长度范围内任意插入指定元素。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| element | T | 是 | 被插入的元素 |
| index | number | 是 | 被插入的位置索引 |
- 示例: | 参数名 | 类型 | 必填 | 说明 |
``` | -------- | -------- | -------- | -------- |
let vector = new Vector(); | element | T | 是 | 被插入的元素 |
vector.insert("A", 0); | index | number | 是 | 被插入的位置索引 |
vector.insert(0, 1);
vector.insert(true, 2); **示例:**
```
```
let vector = new Vector();
vector.insert("A", 0);
vector.insert(0, 1);
vector.insert(true, 2);
```
### has ### has
has(element: T): boolean; has(element: T): boolean
判断此Vector中是否含有该指定元素。 判断此Vector中是否含有该指定元素。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| element | T | 是 | 指定的元素 | | -------- | -------- | -------- | -------- |
| element | T | 是 | 指定的元素 |
**返回值:**
- 返回值: | 类型 | 说明 |
| 类型 | 说明 | | -------- | -------- |
| -------- | -------- | | boolean | 是否包含指定元素 |
| boolean | 是否包含指定元素 |
- 示例: **示例:**
```
let vector = new Vector(); ```
vector.has("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); let vector = new Vector();
vector.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); vector.has("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
vector.has("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); vector.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
``` vector.has("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
```
### getIndexOf ### getIndexOf
getIndexOf(element: T): number; getIndexOf(element: T): number
返回指定元素第一次出现时的下标值,查找失败返回-1。 返回指定元素第一次出现时的下标值,查找失败返回-1。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| element | T | 是 | 指定的元素 | | -------- | -------- | -------- | -------- |
| element | T | 是 | 指定的元素 |
- 返回值:
| 类型 | 说明 | **返回值:**
| -------- | -------- |
| number | 返回指定元素第一次出现时的下标值,查找失败返回-1 | | 类型 | 说明 |
| -------- | -------- |
- 示例: | number | 返回指定元素第一次出现时的下标值,查找失败返回-1 |
```
let vector = new Vector(); **示例:**
vector.add(2);
vector.add(4); ```
vector.add(5); let vector = new Vector();
vector.add(2); vector.add(2);
vector.add(1); vector.add(4);
vector.add(2); vector.add(5);
vector.add(4); vector.add(2);
vector.getIndexOf(2); vector.add(1);
``` vector.add(2);
vector.add(4);
vector.getIndexOf(2);
```
### getLastIndexOf ### getLastIndexOf
getLastIndexOf(element: T): number; getLastIndexOf(element: T): number
返回指定元素最后一次出现时的下标值,查找失败返回-1。 返回指定元素最后一次出现时的下标值,查找失败返回-1。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| element | T | 是 | 指定元素 | | -------- | -------- | -------- | -------- |
| element | T | 是 | 指定元素。 |
- 返回值:
| 类型 | 说明 | **返回值:**
| -------- | -------- |
| number | 返回指定元素最后一次出现时的下标值,查找失败返回-1 | | 类型 | 说明 |
| -------- | -------- |
- 示例: | number | 返回指定元素最后一次出现时的下标值,查找失败返回-1。 |
```
let vector = new Vector(); **示例:**
vector.add(2);
vector.add(4); ```
vector.add(5); let vector = new Vector();
vector.add(2); vector.add(2);
vector.add(1); vector.add(4);
vector.add(2); vector.add(5);
vector.add(4); vector.add(2);
vector.getLastIndexOf(2); vector.add(1);
``` vector.add(2);
vector.add(4);
vector.getLastIndexOf(2);
```
### removeByIndex ### removeByIndex
removeByIndex(index: number): T; removeByIndex(index: number): T
根据元素的下标值查找元素,返回元素后将其删除。 根据元素的下标值查找元素,返回元素后将其删除。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| index | number | 是 | 指定元素的下标值 | | -------- | -------- | -------- | -------- |
| index | number | 是 | 指定元素的下标值。 |
- 返回值:
| 类型 | 说明 | **返回值:**
| -------- | -------- |
| T | 返回删除的元素 | | 类型 | 说明 |
| -------- | -------- |
- 示例: | T | 返回删除的元素。 |
```
let vector = new Vector(); **示例:**
vector.add(2);
vector.add(4); ```
vector.add(5); let vector = new Vector();
vector.add(2); vector.add(2);
vector.add(4); vector.add(4);
vector.removeByIndex(2); vector.add(5);
``` vector.add(2);
vector.add(4);
vector.removeByIndex(2);
```
### remove ### remove
remove(element: T): boolean; remove(element: T): boolean
删除查找到的第一个指定的元素。 删除查找到的第一个指定的元素。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| element | T | 是 | 指定元素 | | -------- | -------- | -------- | -------- |
| element | T | 是 | 指定元素。 |
- 返回值:
| 类型 | 说明 | **返回值:**
| -------- | -------- |
| boolean | 删除成功返回true,失败返回false | | 类型 | 说明 |
| -------- | -------- |
- 示例: | boolean | 删除成功返回true,否则返回false。 |
```
let vector = new Vector(); **返回值:**
vector.add(2);
vector.add(4); ```
vector.add(5); let vector = new Vector();
vector.add(4); vector.add(2);
vector.remove(2); vector.add(4);
``` vector.add(5);
vector.add(4);
vector.remove(2);
```
### removeByRange ### removeByRange
removeByRange(fromIndex: number, toIndex: number): void; removeByRange(fromIndex: number, toIndex: number): void;
从一段范围内删除元素,包括起始值但不包括终止值。 从一段范围内删除元素,包括起始值但不包括终止值。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| fromIndex | number | 是 | 起始下标 | | -------- | -------- | -------- | -------- |
| toIndex | number | 是 | 终止下标 | | fromIndex | number | 是 | 起始下标。 |
| toIndex | number | 是 | 终止下标。 |
- 示例:
``` **示例:**
let vector = new Vector();
vector.add(2); ```
vector.add(4); let vector = new Vector();
vector.add(5); vector.add(2);
vector.add(4); vector.add(4);
vector.removeByRange(2,4); vector.add(5);
vector.removeByRange(4,3); vector.add(4);
vector.removeByRange(2,6); vector.removeByRange(2,4);
``` vector.removeByRange(4,3);
vector.removeByRange(2,6);
```
### replaceAllElements ### replaceAllElements
replaceAllElements(callbackfn: (value: T, index?: number, vector?: Vector&lt;T&gt;) => T, replaceAllElements(callbackfn: (value: T, index?: number, vector?: Vector&lt;T&gt;) => T,
thisArg?: Object): void; thisArg?: Object): void
用户操作Vector中的元素,用操作后的元素替换原元素并返回操作后的元素。
**参数:**
用户操作Vector中的元素,用操作后的元素替换原元素并返回操作后的元素。 | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
- 参数: | callbackfn | function | 是 | 回调函数。 |
| 参数名 | 类型 | 必填 | 说明 | | thisArg | Object | 否 | callbackfn被调用时用作this值。 |
| -------- | -------- | -------- | -------- |
| callbackfn | function | 是 | 回调函数 | callbackfn的参数说明:
| thisArg | Object | 否 | callbackfn被调用时用作this值 |
| 参数名 | 类型 | 必填 | 说明 |
- callbackfn的参数说明 | -------- | -------- | -------- | -------- |
| value | T | 是 | 当前遍历到的元素 |
| 参数名 | 类型 | 必填 | 说明 | | index | number | 否 | 当前遍历到的下标值 |
| -------- | -------- | -------- | -------- | | vector | Vector&lt;T&gt; | 否 | 当前调用replaceAllElements方法的实例对象 |
| value | T | 是 | 当前遍历到的元素 |
| index | number | 否 | 当前遍历到的下标值 | **示例:**
| vector | Vector&lt;T&gt; | 否 | 当前调用replaceAllElements方法的实例对象 |
```
- 示例: let vector = new Vector();
``` vector.add(2);
let vector = new Vector(); vector.add(4);
vector.add(2); vector.add(5);
vector.add(4); vector.add(4);
vector.add(5); vector.replaceAllElements((value, index) => {
vector.add(4);
vector.replaceAllElements((value, index) => {
return value = 2 * value; return value = 2 * value;
}); });
vector.replaceAllElements((value, index) => { vector.replaceAllElements((value, index) => {
return value = value - 2; return value = value - 2;
}); });
``` ```
### forEach ### forEach
forEach(callbackfn: (value: T, index?: number, vector?: Vector&lt;T&gt;) => void, forEach(callbackfn: (value: T, index?: number, vector?: Vector&lt;T&gt;) => void,
thisArg?: Object): void; thisArg?: Object): void;
通过回调函数来遍历Vector实例对象上的元素以及元素对应的下标。 通过回调函数来遍历Vector实例对象上的元素以及元素对应的下标。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| callbackfn | function | 是 | 回调函数。 | | -------- | -------- | -------- | -------- |
| thisArg | Object | 否 | callbackfn被调用时用作this值 | | callbackfn | function | 是 | 回调函数。 |
| thisArg | Object | 否 | callbackfn被调用时用作this值。 |
- callbackfn的参数说明
callbackfn的参数说明:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| value | T | 是 | 当前遍历到的元素。 | | -------- | -------- | -------- | -------- |
| index | number | 否 | 当前遍历到的下标值。 | | value | T | 是 | 当前遍历到的元素。 |
| vector | Vector&lt;T&gt; | 否 | 当前调用forEach方法的实例对象。 | | index | number | 否 | 当前遍历到的下标值。 |
| vector | Vector&lt;T&gt; | 否 | 当前调用forEach方法的实例对象。 |
- 示例: **示例:**
```
let vector = new Vector(); ```
vector.add(2); let vector = new Vector();
vector.add(4); vector.add(2);
vector.add(5); vector.add(4);
vector.add(4); vector.add(5);
vector.forEach((value, index) => { vector.add(4);
vector.forEach((value, index) => {
console.log(value, index) console.log(value, index)
}); });
```
```
### sort ### sort
sort(comparator?: (firstValue: T, secondValue: T) => number): void; sort(comparator?: (firstValue: T, secondValue: T) => number): void
对Vector中的元素进行一个排序操作。 对Vector中的元素进行一个排序操作。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| comparator | function | 否 | 回调函数。 | | -------- | -------- | -------- | -------- |
| comparator | function | 否 | 回调函数。 |
- comparator的参数说明
comparator的参数说明:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| firstValue | T | 是 | 前一项元素 | | -------- | -------- | -------- | -------- |
| secondValue | T | 是 | 后一项元素 | | firstValue | T | 是 | 前一项元素。 |
| secondValue | T | 是 | 后一项元素。 |
- 示例: **示例:**
```
let vector = new Vector(); ```
vector.add(2); let vector = new Vector();
vector.add(4); vector.add(2);
vector.add(5); vector.add(4);
vector.add(4); vector.add(5);
vector.sort(a, (b => a - b)); vector.add(4);
vector.sort(a, (b => b - a)); vector.sort(a, (b => a - b));
vector.sort(); vector.sort(a, (b => b - a));
``` vector.sort();
```
### subVector ### subVector
subVector(fromIndex: number, toIndex: number): Vector&lt;T&gt;; subVector(fromIndex: number, toIndex: number): Vector&lt;T&gt;
根据下标截取Vector中的一段元素,并返回这一段vector实例,包括起始值但不包括终止值。 根据下标截取Vector中的一段元素,并返回这一段vector实例,包括起始值但不包括终止值。
- 参数:
| 参数名 | 类型 | 必填 | 说明 | **参数:**
| -------- | -------- | -------- | -------- |
| fromIndex | number | 是 | 起始下标 | | 参数名 | 类型 | 必填 | 说明 |
| toIndex | number | 是 | 终止下标 | | -------- | -------- | -------- | -------- |
| fromIndex | number | 是 | 起始下标 |
- 返回值: | toIndex | number | 是 | 终止下标 |
| 类型 | 说明 |
| -------- | -------- | **返回值:**
| Vector&lt;T&gt; | 返回Vector对象实例 |
| 类型 | 说明 |
- 示例: | -------- | -------- |
``` | Vector&lt;T&gt; | 返回Vector对象实例。 |
let vector = new Vector();
vector.add(2); **返回值:**
vector.add(4);
vector.add(5); ```
vector.add(4); let vector = new Vector();
vector.subVector(2,4); vector.add(2);
vector.subVector(4,3); vector.add(4);
vector.subVector(2,6); vector.add(5);
vector.add(4);
``` vector.subVector(2,4);
vector.subVector(4,3);
vector.subVector(2,6);
```
### clear ### clear
clear(): void; clear(): void
清除Vector中的所有元素,并把length置为0。 清除Vector中的所有元素,并把length置为0。
- 示例: **返回值:**
```
let vector = new Vector(); ```
vector.add(2); let vector = new Vector();
vector.add(4); vector.add(2);
vector.add(5); vector.add(4);
vector.add(4); vector.add(5);
vector.clear(); vector.add(4);
``` vector.clear();
```
### clone ### clone
clone(): Vector&lt;T&gt;; clone(): Vector&lt;T&gt;
克隆一个与Vector一模一样的实例,并返回克隆后的实例,修改克隆后的实例并不会影响原实例。 克隆一个与Vector相同的实例,并返回克隆后的实例。
- 返回值: 修改克隆后的实例并不会影响原实例。
| 类型 | 说明 |
| -------- | -------- | **返回值:**
| Vector&lt;T&gt; | 返回Vector对象实例 |
| 类型 | 说明 |
- 示例: | -------- | -------- |
``` | Vector&lt;T&gt; | 返回Vector对象实例 |
let vector = new Vector();
vector.add(2); **示例:**
vector.add(4);
vector.add(5); ```
vector.add(4); let vector = new Vector();
vector.clone(); vector.add(2);
``` vector.add(4);
vector.add(5);
vector.add(4);
vector.clone();
```
### getCapacity ### getCapacity
getCapacity(): number; getCapacity(): number
获取当前实例的容量大小。 获取当前实例的容量大小。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| number | 返回Vector的容量大小 | | -------- | -------- |
| number | 返回Vector的容量大小。 |
- 示例:
``` **示例:**
let vector = new Vector();
vector.add(2); ```
vector.add(4); let vector = new Vector();
vector.add(5); vector.add(2);
vector.add(4); vector.add(4);
vector.getCapacity(); vector.add(5);
``` vector.add(4);
vector.getCapacity();
```
### convertToArray ### convertToArray
convertToArray(): Array&lt;T&gt;; convertToArray(): Array&lt;T&gt;
把当前Vector实例转换成数组,并返回转换后的数组。 把当前Vector实例转换成数组,并返回转换后的数组。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| Array&lt;T&gt; | 返回数组类型 | | -------- | -------- |
| Array&lt;T&gt; | 返回数组类型。 |
- 示例:
``` **示例:**
let vector = new Vector();
vector.add(2); ```
vector.add(4); let vector = new Vector();
vector.add(5); vector.add(2);
vector.add(4); vector.add(4);
vector.convertToArray(); vector.add(5);
``` vector.add(4);
vector.convertToArray();
```
### isEmpty ### isEmpty
isEmpty(): boolean; isEmpty(): boolean
判断该Vector是否为空。 判断该Vector是否为空。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| boolean | 为空返回true, 不为空返回false | | -------- | -------- |
| boolean | 为空返回true,否则返回false。 |
- 示例:
``` **示例:**
let vector = new Vector();
vector.add(2); ```
vector.add(4); let vector = new Vector();
vector.add(5); vector.add(2);
vector.add(4); vector.add(4);
vector.isEmpty(); vector.add(5);
``` vector.add(4);
vector.isEmpty();
```
### increaseCapacityTo ### increaseCapacityTo
increaseCapacityTo(newCapacity: number): void; increaseCapacityTo(newCapacity: number): void
如果传入的新容量大于或等于Vector中的元素个数,将容量变更为新容量。 如果传入的新容量大于或等于Vector中的元素个数,将容量变更为新容量。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| newCapacity | number | 是 | 新容量 | | -------- | -------- | -------- | -------- |
| newCapacity | number | 是 | 新容量。 |
- 示例: **示例:**
```
let vector = new Vector(); ```
vector.add(2); let vector = new Vector();
vector.add(4); vector.add(2);
vector.add(5); vector.add(4);
vector.add(4); vector.add(5);
vector.increaseCapacityTo(2); vector.add(4);
vector.increaseCapacityTo(8); vector.increaseCapacityTo(2);
``` vector.increaseCapacityTo(8);
```
### trimToCurrentLength ### trimToCurrentLength
trimToCurrentLength(): void; trimToCurrentLength(): void
把容量限制为当前的length大小。 把容量限制为当前的length大小。
- 示例: **示例:**
```
let vector = new Vector(); ```
vector.add(2); let vector = new Vector();
vector.add(4); vector.add(2);
vector.add(5); vector.add(4);
vector.add(4); vector.add(5);
vector.trimToCurrentLength(2); vector.add(4);
``` vector.trimToCurrentLength(2);
```
### toString ### toString
toString(): string; toString(): string
用","将Vector实例中的元素按顺序拼接成字符串。 用","将Vector实例中的元素按顺序拼接成字符串。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- |
| string | 返回字符串类型 |
| 类型 | 说明 |
| -------- | -------- |
| string | 返回对应的字符串。 |
- 示例: **示例:**
```
let vector = new Vector(); ```
vector.add(2); let vector = new Vector();
vector.add(4); vector.add(2);
vector.add(5); vector.add(4);
vector.add(4); vector.add(5);
vector.toSting(); vector.add(4);
``` vector.toSting();
```
### copyToArray ### copyToArray
copyToArray(array: Array&lt;T&gt;): void; copyToArray(array: Array&lt;T&gt;): void;
将Vector实例中的元素按照下标复制进array。 将Vector实例中的元素按照下标复制到指定数组。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| array | Array&lt;T&gt; | 是 | 数组 | | -------- | -------- | -------- | -------- |
| array | Array&lt;T&gt; | 是 | 指定数组。 |
- 示例: **示例:**
```
let vector = new Vector(); ```
vector.add(2); let vector = new Vector();
vector.add(4); vector.add(2);
vector.add(5); vector.add(4);
vector.add(4); vector.add(5);
let array = ["a", "b", "c", "d", "e", "f"]; vector.add(4);
vector.copyToArray(array); let array = ["a", "b", "c", "d", "e", "f"];
``` vector.copyToArray(array);
```
### getFirstElement ### getFirstElement
getFirstElement(): T; getFirstElement(): T
获取实例中的第一个元素。 获取实例中的第一个元素。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| T | 返回T型 | | -------- | -------- |
| T | 返回第一个元素。 |
- 示例: **示例:**
```
let vector = new Vector(); ```
vector.add(2); let vector = new Vector();
vector.add(4); vector.add(2);
vector.add(5); vector.add(4);
vector.add(4); vector.add(5);
vector.getFirstElement(); vector.add(4);
``` vector.getFirstElement();
```
### getLastElement ### getLastElement
getLastElement(): T; getLastElement(): T
获取Vector实例中的最后一个元素。 获取Vector实例中的最后一个元素。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| T | 返回T型 | | -------- | -------- |
| T | 返回最后一个元素。 |
- 示例: **示例:**
```
let vector = new Vector(); ```
vector.add(2); let vector = new Vector();
vector.add(4); vector.add(2);
vector.add(5); vector.add(4);
vector.add(4); vector.add(5);
vector.getLastElement(); vector.add(4);
``` vector.getLastElement();
```
### getLastIndexFrom ### getLastIndexFrom
getLastIndexFrom(element: T, index: number): number; getLastIndexFrom(element: T, index: number): number
从指定索引向后搜索,返回该元素的下标索引。
从指定索引向后搜索, 返回该元素的下标索引,如果查找失败,则返回-1。 **参数:**
- 参数: | 参数名 | 类型 | 必填 | 说明 |
| 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- |
| -------- | -------- | -------- | -------- | | element | T | 是 | 要查找的元素。 |
| element | T | 是 | 要查找的元素 | | index | number | 是 | 从指定索引开始搜索。 |
| index | number | 是 | 从指定索引开始搜索 |
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- |
| number | 返回该元素的下标 |
| 类型 | 说明 |
| -------- | -------- |
| number | 返回该元素的下标,如果查找失败,则返回-1。 |
**示例:**
```
let vector = new Vector();
vector.add(2);
vector.add(4);
vector.add(5);
vector.add(4);
vector.add("a");
vector.getLastIndexFrom(4,3);
```
- 示例:
```
let vector = new Vector();
vector.add(2);
vector.add(4);
vector.add(5);
vector.add(4);
vector.add("a");
vector.getLastIndexFrom(4,3);
```
### getIndexFrom ### getIndexFrom
getIndexFrom(element: T, index: number): number; getIndexFrom(element: T, index: number): number;
从指定索引向前搜索, 返回该元素的下标索引,如果查找失败,则返回 -1 从指定索引向前搜索,返回该元素的下标索引。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| element | T | 是 | 要查找的元素 | | -------- | -------- | -------- | -------- |
| index | number | 是 | 从指定索引开始搜索 | | element | T | 是 | 要查找的元素。 |
| index | number | 是 | 从指定索引开始搜索。 |
- 返回值:
| 类型 | 说明 | **返回值:**
| -------- | -------- |
| number | 返回该元素的下标 | | 类型 | 说明 |
| -------- | -------- |
| number | 返回该元素的下标,如果查找失败,则返回 -1。 |
- 示例:
``` **示例:**
let vector = new Vector();
vector.add(2); ```
vector.add(4); let vector = new Vector();
vector.add(5); vector.add(2);
vector.add(4); vector.add(4);
vector.add("a"); vector.add(5);
vector.getIndexFrom(4, 3); vector.add(4);
``` vector.add("a");
vector.getIndexFrom(4, 3);
```
### setLength ### setLength
setLength(newSize: number): void; setLength(newSize: number): void;
设置Vector实例的元素个数。 设置Vector实例的元素个数。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| newSize | number | 是 | 设置的新长度 |
- 示例:
```
let vector = new Vector();
vector.add(2);
vector.add(4);
vector.add(5);
vector.add(4);
vector.setLength(8);
vector.setLength(2);
```
### [Symbol.iterator] | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| newSize | number | 是 | 设置的新长度。 |
[Symbol.iterator]\(): IterableIterator&lt;T&gt;; **示例:**
```
let vector = new Vector();
vector.add(2);
vector.add(4);
vector.add(5);
vector.add(4);
vector.setLength(8);
vector.setLength(2);
```
返回一个迭代器,迭代器的每一项都是一个 JavaScript 对象,并返回该对象。 ### [Symbol.iterator]
[Symbol.iterator]\(): IterableIterator&lt;T&gt;
- 返回值: 返回一个迭代器,迭代器的每一项都是一个 JavaScript 对象,并返回该对象。
| 类型 | 说明 |
| -------- | -------- |
| IterableIterator&lt;T&gt; | 返回一个迭代器。 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| IterableIterator&lt;T&gt; | 返回一个迭代器。 |
- 示例: **示例:**
```
let vector = new Vector();
vector.add(2);
vector.add(4);
vector.add(5);
vector.add(4);
// 使用方法一: ```
for (let item of vector) { let vector = new Vector();
vector.add(2);
vector.add(4);
vector.add(5);
vector.add(4);
// 使用方法一:
for (let item of vector) {
console.log(item); console.log(item);
} }
// 使用方法二: // 使用方法二:
let iter = vector[Symbol.iterator](); let iter = vector[Symbol.iterator]();
let temp = iter.next().value; let temp = iter.next().value;
while(temp != undefined) { while(temp != undefined) {
console.log(temp); console.log(temp);
temp = iter.next().value; temp = iter.next().value;
} }
``` ```
\ No newline at end of file \ No newline at end of file
...@@ -10,6 +10,9 @@ ...@@ -10,6 +10,9 @@
import worker from '@ohos.worker'; import worker from '@ohos.worker';
``` ```
## 系统能力
SystemCapability.Utils.Lang
## 属性 ## 属性
...@@ -39,21 +42,24 @@ constructor(scriptURL: string, options?: WorkerOptions) ...@@ -39,21 +42,24 @@ constructor(scriptURL: string, options?: WorkerOptions)
worker构造函数。 worker构造函数。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| scriptURL | string | 是 | worker执行脚本的url,路径规范:若DevEco新建工程在pages同级下没有workers目录,需要新建workers目录,将脚本文件放入workers目录。 | | -------- | -------- | -------- | -------- |
| options | [WorkerOptions](#workeroptions) | 否 | worker构造的选项。 | | scriptURL | string | 是 | worker执行脚本的url,路径规范:若DevEco新建工程在pages同级下没有workers目录,需要新建workers目录,将脚本文件放入workers目录。 |
| options | [WorkerOptions](#workeroptions) | 否 | worker构造的选项。 |
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- |
| worker | 执行Worker构造函数生成的Worker对象,失败则返回undefined。 |
- 示例: | 类型 | 说明 |
``` | -------- | -------- |
const workerInstance = new worker.Worker("workers/worker.js", {name:"first worker"}); | worker | 执行Worker构造函数生成的Worker对象,失败则返回undefined。 |
```
**示例:**
```
const workerInstance = new worker.Worker("workers/worker.js", {name:"first worker"});
```
### postMessage ### postMessage
...@@ -62,22 +68,24 @@ postMessage(message: Object, options?: PostMessageOptions): void ...@@ -62,22 +68,24 @@ postMessage(message: Object, options?: PostMessageOptions): void
向worker线程发送消息,数据的传输采用结构化克隆算法。 向worker线程发送消息,数据的传输采用结构化克隆算法。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| message | Object | 是 | 发送至worker的数据。 | | -------- | -------- | -------- | -------- |
| options | [PostMessageOptions](#postmessageoptions) | 否 | 可转移对象是&nbsp;ArrayBuffer&nbsp;的实例对象。transferList数组中不可传入null。 | | message | Object | 是 | 发送至worker的数据。 |
| options | [PostMessageOptions](#postmessageoptions) | 否 | 可转移对象是&nbsp;ArrayBuffer&nbsp;的实例对象。transferList数组中不可传入null。 |
- 示例: **示例:**
```
const workerInstance = new worker.Worker("workers/worker.js"); ```
workerInstance.postMessage("hello world"); const workerInstance = new worker.Worker("workers/worker.js");
``` workerInstance.postMessage("hello world");
``` ```
const workerInstance= new worker.Worker("workers/worker.js"); ```
var buffer = new ArrayBuffer(8); const workerInstance= new worker.Worker("workers/worker.js");
workerInstance.postMessage(buffer, [buffer]); var buffer = new ArrayBuffer(8);
``` workerInstance.postMessage(buffer, [buffer]);
```
### on ### on
...@@ -86,19 +94,21 @@ on(type: string, listener: EventListener): void ...@@ -86,19 +94,21 @@ on(type: string, listener: EventListener): void
向worker添加一个事件监听。 向worker添加一个事件监听。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| type | string | 是 | 监听事件的type。 | | -------- | -------- | -------- | -------- |
| listener | [EventListener](#eventlistener) | 是 | 回调的事件。 | | type | string | 是 | 监听事件的type。 |
| listener | [EventListener](#eventlistener) | 是 | 回调的事件。 |
**示例:**
- 示例: ```
``` const workerInstance = new worker.Worker("workers/worker.js")
const workerInstance = new worker.Worker("workers/worker.js") workerInstance.on("alert", (e)=>{
workerInstance.on("alert", (e)=>{
console.log("alert listener callback"); console.log("alert listener callback");
}) })
``` ```
### once ### once
...@@ -107,19 +117,21 @@ once(type: string, listener: EventListener): void ...@@ -107,19 +117,21 @@ once(type: string, listener: EventListener): void
向worker添加一个事件监听,事件监听只执行一次便自动删除。 向worker添加一个事件监听,事件监听只执行一次便自动删除。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| type | string | 是 | 监听事件的type。 | | -------- | -------- | -------- | -------- |
| listener | [EventListener](#eventlistener) | 是 | 回调的事件。 | | type | string | 是 | 监听事件的type。 |
| listener | [EventListener](#eventlistener) | 是 | 回调的事件。 |
**示例:**
- 示例: ```
``` const workerInstance = new worker.Worker("workers/worker.js");
const workerInstance = new worker.Worker("workers/worker.js"); workerInstance.once("alert", (e)=>{
workerInstance.once("alert", (e)=>{
console.log("alert listener callback"); console.log("alert listener callback");
}) })
``` ```
### off ### off
...@@ -128,17 +140,19 @@ off(type: string, listener?: EventListener): void ...@@ -128,17 +140,19 @@ off(type: string, listener?: EventListener): void
删除worker的事件监听。 删除worker的事件监听。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| type | string | 是 | 需要删除事件的type。 |
| listener | [EventListener](#eventlistener) | 否 | 需要删除的回调的事件。 |
- 示例: | 参数名 | 类型 | 必填 | 说明 |
``` | -------- | -------- | -------- | -------- |
const workerInstance = new worker.Worker("workers/worker.js"); | type | string | 是 | 需要删除事件的type。 |
workerInstance.off("alert"); | listener | [EventListener](#eventlistener) | 否 | 需要删除的回调的事件。 |
```
**示例:**
```
const workerInstance = new worker.Worker("workers/worker.js");
workerInstance.off("alert");
```
### terminate ### terminate
...@@ -147,11 +161,12 @@ terminate(): void ...@@ -147,11 +161,12 @@ terminate(): void
关闭worker线程,终止worker接收消息。 关闭worker线程,终止worker接收消息。
- 示例: **示例:**
```
const workerInstance = new worker.Worker("workers/worker.js") ```
workerInstance.terminate() const workerInstance = new worker.Worker("workers/worker.js")
``` workerInstance.terminate()
```
### onexit ### onexit
...@@ -160,18 +175,20 @@ onexit?: (code: number) =&gt; void ...@@ -160,18 +175,20 @@ onexit?: (code: number) =&gt; void
Worker对象的onexit属性表示worker退出时被调用的事件处理程序,处理程序在宿主线程中执行。 Worker对象的onexit属性表示worker退出时被调用的事件处理程序,处理程序在宿主线程中执行。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| code | number | 否 | worker退出的code。 |
- 示例: | 参数名 | 类型 | 必填 | 说明 |
``` | -------- | -------- | -------- | -------- |
const workerInstance = new worker.Worker("workers/worker.js") | code | number | 否 | worker退出的code。 |
workerInstance.onexit = function(e) {
**示例:**
```
const workerInstance = new worker.Worker("workers/worker.js")
workerInstance.onexit = function(e) {
console.log("onexit") console.log("onexit")
} }
``` ```
### onerror ### onerror
...@@ -180,18 +197,20 @@ onerror?: (err: ErrorEvent) =&gt; void ...@@ -180,18 +197,20 @@ onerror?: (err: ErrorEvent) =&gt; void
Worker对象的onerror属性表示worker在执行过程中发生异常被调用的事件处理程序,处理程序在宿主线程中执行。 Worker对象的onerror属性表示worker在执行过程中发生异常被调用的事件处理程序,处理程序在宿主线程中执行。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| err | [ErrorEvent](#errorevent) | 否 | 异常数据。 |
- 示例: | 参数名 | 类型 | 必填 | 说明 |
``` | -------- | -------- | -------- | -------- |
const workerInstance = new worker.Worker("workers/worker.js") | err | [ErrorEvent](#errorevent) | 否 | 异常数据。 |
workerInstance.onerror = function(e) {
**示例:**
```
const workerInstance = new worker.Worker("workers/worker.js")
workerInstance.onerror = function(e) {
console.log("onerror") console.log("onerror")
} }
``` ```
### onmessage ### onmessage
...@@ -200,18 +219,20 @@ onmessage?: (event: MessageEvent) =&gt; void ...@@ -200,18 +219,20 @@ onmessage?: (event: MessageEvent) =&gt; void
Worker对象的onmessage属性表示宿主线程接收到来自其创建的worker通过parentPort.postMessage接口发送的消息时被调用的事件处理程序,处理程序在宿主线程中执行。 Worker对象的onmessage属性表示宿主线程接收到来自其创建的worker通过parentPort.postMessage接口发送的消息时被调用的事件处理程序,处理程序在宿主线程中执行。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| event | [MessageEvent](#messageevent) | 否 | 收到的worker消息数据。 | | -------- | -------- | -------- | -------- |
| event | [MessageEvent](#messageevent) | 否 | 收到的worker消息数据。 |
**示例:**
- 示例: ```
``` const workerInstance = new worker.Worker("workers/worker.js")
const workerInstance = new worker.Worker("workers/worker.js") workerInstance.onmessage = function(e) {
workerInstance.onmessage = function(e) {
console.log("onerror") console.log("onerror")
} }
``` ```
### onmessageerror ### onmessageerror
...@@ -220,18 +241,20 @@ onmessageerror?: (event: MessageEvent) =&gt; void ...@@ -220,18 +241,20 @@ onmessageerror?: (event: MessageEvent) =&gt; void
Worker对象的onmessageerror属性表示当 Worker 对象接收到一条无法被序列化的消息时被调用的事件处理程序,处理程序在宿主线程中执行。 Worker对象的onmessageerror属性表示当 Worker 对象接收到一条无法被序列化的消息时被调用的事件处理程序,处理程序在宿主线程中执行。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| event | [MessageEvent](#messageevent) | 否 | 异常数据。 | | -------- | -------- | -------- | -------- |
| event | [MessageEvent](#messageevent) | 否 | 异常数据。 |
- 示例: **示例:**
```
const workerInstance = new worker.Worker("workers/worker.js") ```
workerInstance.onmessageerror= function(e) { const workerInstance = new worker.Worker("workers/worker.js")
workerInstance.onmessageerror= function(e) {
console.log("onmessageerror") console.log("onmessageerror")
} }
``` ```
## EventTarget ## EventTarget
...@@ -243,19 +266,21 @@ addEventListener(type: string, listener: EventListener): void ...@@ -243,19 +266,21 @@ addEventListener(type: string, listener: EventListener): void
向worker添加一个事件监听。 向worker添加一个事件监听。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| type | string | 是 | 监听事件的type。 | | -------- | -------- | -------- | -------- |
| listener | [EventListener](#eventlistener) | 是 | 回调的事件。 | | type | string | 是 | 监听事件的type。 |
| listener | [EventListener](#eventlistener) | 是 | 回调的事件。 |
- 示例: **示例:**
```
const workerInstance = new worker.Worker("workers/worker.js") ```
workerInstance.addEventListener("alert", (e)=>{ const workerInstance = new worker.Worker("workers/worker.js")
workerInstance.addEventListener("alert", (e)=>{
console.log("alert listener callback"); console.log("alert listener callback");
}) })
``` ```
### removeEventListener ### removeEventListener
...@@ -264,17 +289,19 @@ removeEventListener(type: string, callback?: EventListener): void ...@@ -264,17 +289,19 @@ removeEventListener(type: string, callback?: EventListener): void
删除worker的事件监听。 删除worker的事件监听。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| type | string | 是 | 需要删除事件的type。 |
| callback | [EventListener](#eventlistener) | 否 | 需要删除的回调的事件。 |
- 示例: | 参数名 | 类型 | 必填 | 说明 |
``` | -------- | -------- | -------- | -------- |
const workerInstance = new worker.Worker("workers/worker.js") | type | string | 是 | 需要删除事件的type。 |
workerInstance.removeEventListener("alert") | callback | [EventListener](#eventlistener) | 否 | 需要删除的回调的事件。 |
```
**示例:**
```
const workerInstance = new worker.Worker("workers/worker.js")
workerInstance.removeEventListener("alert")
```
### dispatchEvent ### dispatchEvent
...@@ -283,21 +310,24 @@ dispatchEvent(event: Event): boolean ...@@ -283,21 +310,24 @@ dispatchEvent(event: Event): boolean
分发定义在worker的事件。 分发定义在worker的事件。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| event | [Event](#event) | 是 | 需要分发的事件。 | | -------- | -------- | -------- | -------- |
| event | [Event](#event) | 是 | 需要分发的事件。 |
**返回值:**
- 返回值: | 类型 | 说明 |
| 类型 | 说明 | | -------- | -------- |
| -------- | -------- | | boolean | 分发的结果,false表示分发失败。 |
| boolean | 分发的结果,false表示分发失败。 |
- 示例: **示例:**
```
const workerInstance = new worker.Worker("workers/worker.js") ```
workerInstance.dispatchEvent({type:"alert"}) const workerInstance = new worker.Worker("workers/worker.js")
``` workerInstance.dispatchEvent({type:"alert"})
```
### removeAllListener ### removeAllListener
...@@ -306,11 +336,12 @@ removeAllListener(): void ...@@ -306,11 +336,12 @@ removeAllListener(): void
删除worker的所有事件监听。 删除worker的所有事件监听。
- 示例: **示例:**
```
const workerInstance = new worker.Worker("workers/worker.js") ```
workerInstance.removeAllListener({type:"alert"}) const workerInstance = new worker.Worker("workers/worker.js")
``` workerInstance.removeAllListener({type:"alert"})
```
## DedicatedWorkerGlobalScope ## DedicatedWorkerGlobalScope
...@@ -324,30 +355,32 @@ postMessage(message: Object, options?: PostMessageOptions): void ...@@ -324,30 +355,32 @@ postMessage(message: Object, options?: PostMessageOptions): void
worker向宿主线程发送消息。 worker向宿主线程发送消息。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| message | Object | 是 | 发送至worker的数据。 | | -------- | -------- | -------- | -------- |
| options | [PostMessageOptions](#postmessageoptions) | 否 | 可转移对象是ArrayBuffer的实例对象。transferList数组中不可传入null。 | | message | Object | 是 | 发送至worker的数据。 |
| options | [PostMessageOptions](#postmessageoptions) | 否 | 可转移对象是ArrayBuffer的实例对象。transferList数组中不可传入null。 |
- 示例:
``` **示例:**
// main.js
import worker from '@ohos.worker'; ```
const workerInstance = new worker.Worker("workers/worker.js") // main.js
workerInstance.postMessage("hello world") import worker from '@ohos.worker';
workerInstance.onmessage = function(e) { const workerInstance = new worker.Worker("workers/worker.js")
workerInstance.postMessage("hello world")
workerInstance.onmessage = function(e) {
console.log("receive data from worker.js") console.log("receive data from worker.js")
} }
``` ```
``` ```
// worker.js // worker.js
import worker from '@ohos.worker'; import worker from '@ohos.worker';
const parentPort = worker.parentPort; const parentPort = worker.parentPort;
parentPort.onmessage = function(e){ parentPort.onmessage = function(e){
parentPort.postMessage("receive data from main.js") parentPort.postMessage("receive data from main.js")
} }
``` ```
### close ### close
...@@ -356,20 +389,21 @@ close(): void ...@@ -356,20 +389,21 @@ close(): void
关闭worker线程,终止worker接收消息。 关闭worker线程,终止worker接收消息。
- 示例: **示例:**
```
// main.js ```
import worker from '@ohos.worker'; // main.js
const workerInstance = new worker.Worker("workers/worker.js") import worker from '@ohos.worker';
``` const workerInstance = new worker.Worker("workers/worker.js")
``` ```
// worker.js ```
import worker from '@ohos.worker'; // worker.js
const parentPort = worker.parentPort; import worker from '@ohos.worker';
parentPort.onmessage = function(e) { const parentPort = worker.parentPort;
parentPort.onmessage = function(e) {
parentPort.close() parentPort.close()
} }
``` ```
### onmessage ### onmessage
...@@ -378,26 +412,28 @@ onmessage?: (event: MessageEvent) =&gt; void ...@@ -378,26 +412,28 @@ onmessage?: (event: MessageEvent) =&gt; void
DedicatedWorkerGlobalScope的onmessage属性表示worker线程收到来自其宿主线程通过worker.postMessage接口发送的消息时被调用的事件处理程序,处理程序在worker线程中执行。 DedicatedWorkerGlobalScope的onmessage属性表示worker线程收到来自其宿主线程通过worker.postMessage接口发送的消息时被调用的事件处理程序,处理程序在worker线程中执行。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| event | [MessageEvent](#messageevent) | 否 | 收到的worker消息数据。 | | -------- | -------- | -------- | -------- |
| event | [MessageEvent](#messageevent) | 否 | 收到的worker消息数据。 |
- 示例:
``` **示例:**
// main.js
import worker from '@ohos.worker'; ```
const workerInstance = new worker.Worker("workers/worker.js") // main.js
workerInstance.postMessage("hello world") import worker from '@ohos.worker';
``` const workerInstance = new worker.Worker("workers/worker.js")
``` workerInstance.postMessage("hello world")
// worker.js ```
import worker from '@ohos.worker'; ```
const parentPort = worker.parentPort; // worker.js
parentPort.onmessage = function(e) { import worker from '@ohos.worker';
const parentPort = worker.parentPort;
parentPort.onmessage = function(e) {
console.log("receive main.js message") console.log("receive main.js message")
} }
``` ```
### onmessageerror ### onmessageerror
...@@ -406,25 +442,27 @@ onmessageerror?: (event: MessageEvent) =&gt; void ...@@ -406,25 +442,27 @@ onmessageerror?: (event: MessageEvent) =&gt; void
DedicatedWorkerGlobalScope的onmessageerror属性表示当 Worker 对象接收到一条无法被反序列化的消息时被调用的事件处理程序,处理程序在worker线程中执行。 DedicatedWorkerGlobalScope的onmessageerror属性表示当 Worker 对象接收到一条无法被反序列化的消息时被调用的事件处理程序,处理程序在worker线程中执行。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| event | [MessageEvent](#messageevent) | 否 | 异常数据。 | | -------- | -------- | -------- | -------- |
| event | [MessageEvent](#messageevent) | 否 | 异常数据。 |
- 示例:
``` **示例:**
// main.js
import worker from '@ohos.worker'; ```
const workerInstance = new worker.Worker("workers/worker.js") // main.js
``` import worker from '@ohos.worker';
``` const workerInstance = new worker.Worker("workers/worker.js")
// worker.js ```
import worker from '@ohos.worker'; ```
const parentPort = worker.parentPort; // worker.js
parentPort.onmessageerror= function(e) { import worker from '@ohos.worker';
const parentPort = worker.parentPort;
parentPort.onmessageerror= function(e) {
console.log("worker.js onmessageerror") console.log("worker.js onmessageerror")
} }
``` ```
## PostMessageOptions ## PostMessageOptions
...@@ -455,23 +493,26 @@ DedicatedWorkerGlobalScope的onmessageerror属性表示当 Worker 对象接收 ...@@ -455,23 +493,26 @@ DedicatedWorkerGlobalScope的onmessageerror属性表示当 Worker 对象接收
执行的回调函数。 执行的回调函数。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| evt | [Event](#event) | 是 | 回调的事件类。 |
- 返回值 | 参数名 | 类型 | 必填 | 说明 |
| 类型 | 说明 | | -------- | -------- | -------- | -------- |
| -------- | -------- | | evt | [Event](#event) | 是 | 回调的事件类。 |
| void&nbsp;\|&nbsp;Promise&lt;void&gt; | 无返回值或者以Promise形式返回。 |
- 示例: **返回值:**
```
const workerInstance = new worker.Worker("workers/worker.js"); | 类型 | 说明 |
workerInstance.addEventListener("alert", (e)=>{ | -------- | -------- |
| void&nbsp;\|&nbsp;Promise&lt;void&gt; | 无返回值或者以Promise形式返回。 |
**示例:**
```
const workerInstance = new worker.Worker("workers/worker.js");
workerInstance.addEventListener("alert", (e)=>{
console.log("alert listener callback"); console.log("alert listener callback");
}) })
``` ```
## ErrorEvent ## ErrorEvent
...@@ -515,22 +556,23 @@ onerror?: (ev: ErrorEvent) =&gt; void ...@@ -515,22 +556,23 @@ onerror?: (ev: ErrorEvent) =&gt; void
WorkerGlobalScope的onerror属性表示worker在执行过程中发生异常被调用的事件处理程序,处理程序在worker线程中执行。 WorkerGlobalScope的onerror属性表示worker在执行过程中发生异常被调用的事件处理程序,处理程序在worker线程中执行。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| ev | [ErrorEvent](#errorevent) | 否 | 异常数据。 | | -------- | -------- | -------- | -------- |
| ev | [ErrorEvent](#errorevent) | 否 | 异常数据。 |
- 示例:
``` **示例:**
// main.js ```
import worker from '@ohos.worker'; // main.js
const workerInstance = new worker.Worker("workers/worker.js") import worker from '@ohos.worker';
``` const workerInstance = new worker.Worker("workers/worker.js")
``` ```
// worker.js ```
import worker from '@ohos.worker'; // worker.js
const parentPort = worker.parentPort import worker from '@ohos.worker';
parentPort.onerror = function(e){ const parentPort = worker.parentPort
parentPort.onerror = function(e){
console.log("worker.js onerror") console.log("worker.js onerror")
} }
``` ```
...@@ -10,6 +10,9 @@ ...@@ -10,6 +10,9 @@
import xml from '@ohos.xml'; import xml from '@ohos.xml';
``` ```
## 系统能力
SystemCapability.Utils.Lang
## XmlSerializer ## XmlSerializer
...@@ -20,18 +23,20 @@ constructor(buffer: ArrayBuffer | DataView, encoding?: string) ...@@ -20,18 +23,20 @@ constructor(buffer: ArrayBuffer | DataView, encoding?: string)
XmlSerializer的构造函数。 XmlSerializer的构造函数。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| buffer | ArrayBuffer&nbsp;\|&nbsp;DataView | 是 | 用于接收写入xml信息的ArrayBuffer或DataView内存。 |
| encoding | string | 否 | 编码格式。 |
- 示例: | 参数名 | 类型 | 必填 | 说明 |
``` | -------- | -------- | -------- | -------- |
var arrayBuffer = new ArrayBuffer(1024); | buffer | ArrayBuffer&nbsp;\|&nbsp;DataView | 是 | 用于接收写入xml信息的ArrayBuffer或DataView内存。 |
var bufView = new DataView(arrayBuffer); | encoding | string | 否 | 编码格式。 |
var thatSer = new xml.XmlSerializer(bufView);
``` **示例:**
```
var arrayBuffer = new ArrayBuffer(1024);
var bufView = new DataView(arrayBuffer);
var thatSer = new xml.XmlSerializer(bufView);
```
### setAttributes ### setAttributes
...@@ -40,17 +45,19 @@ setAttributes(name: string, value: string):void ...@@ -40,17 +45,19 @@ setAttributes(name: string, value: string):void
设置Attributes方法。 设置Attributes方法。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| name | string | 是 | 属性的key值。 |
| value | string | 是 | 属性的value值。 |
- 示例: | 参数名 | 类型 | 必填 | 说明 |
``` | -------- | -------- | -------- | -------- |
var thatSer = new xml.XmlSerializer(bufView); | name | string | 是 | 属性的key值。 |
thatSer.setAttributes("importance", "high"); | value | string | 是 | 属性的value值。 |
```
**示例:**
```
var thatSer = new xml.XmlSerializer(bufView);
thatSer.setAttributes("importance", "high");
```
### addEmptyElement ### addEmptyElement
...@@ -59,16 +66,18 @@ addEmptyElement(name: string): void ...@@ -59,16 +66,18 @@ addEmptyElement(name: string): void
写入一个空元素。 写入一个空元素。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| name | string | 是 | 该空元素的元素名。 | | -------- | -------- | -------- | -------- |
| name | string | 是 | 该空元素的元素名。 |
- 示例: **示例:**
```
```
var thatSer = new xml.XmlSerializer(bufView); var thatSer = new xml.XmlSerializer(bufView);
thatSer.addEmptyElement("b"); // => <b/> thatSer.addEmptyElement("b"); // => <b/>
``` ```
### setDeclaration ### setDeclaration
...@@ -77,11 +86,12 @@ setDeclaration(): void ...@@ -77,11 +86,12 @@ setDeclaration(): void
设置Declaration方法。 设置Declaration方法。
- 示例: **示例:**
```
var thatSer = new xml.XmlSerializer(bufView); ```
thatSer.setDeclaration() // => <?xml version="1.0" encoding="utf-8"?>; var thatSer = new xml.XmlSerializer(bufView);
``` thatSer.setDeclaration() // => <?xml version="1.0" encoding="utf-8"?>;
```
### startElement ### startElement
...@@ -90,18 +100,20 @@ startElement(name: string): void ...@@ -90,18 +100,20 @@ startElement(name: string): void
根据给定名称写入元素开始标记。 根据给定名称写入元素开始标记。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| name | string | 是 | 当前元素的元素名。 | | -------- | -------- | -------- | -------- |
| name | string | 是 | 当前元素的元素名。 |
**示例:**
- 示例: ```
``` var arrayBuffer = new ArrayBuffer(1024);
var arrayBuffer = new ArrayBuffer(1024); var thatSer = new xml.XmlSerializer(arrayBuffer);
var thatSer = new xml.XmlSerializer(arrayBuffer); thatSer.startElement("notel");
thatSer.startElement("notel"); thatSer.endElement();// => '<notel/>';
thatSer.endElement();// => '<notel/>'; ```
```
### endElement ### endElement
...@@ -110,15 +122,16 @@ endElement(): void ...@@ -110,15 +122,16 @@ endElement(): void
写入元素结束标记。 写入元素结束标记。
- 示例: **示例:**
```
var thatSer = new xml.XmlSerializer(bufView); ```
thatSer.setNamespace("h", "http://www.w3.org/TR/html4/"); var thatSer = new xml.XmlSerializer(bufView);
thatSer.startElement("table"); thatSer.setNamespace("h", "http://www.w3.org/TR/html4/");
thatSer.setAttributes("importance", "high"); thatSer.startElement("table");
thatSer.setText("Happy"); thatSer.setAttributes("importance", "high");
endElement(); // => <h:table importance="high" xmlns:h="http://www.w3.org/TR/html4/">Happy</h:table> thatSer.setText("Happy");
``` endElement(); // => <h:table importance="high" xmlns:h="http://www.w3.org/TR/html4/">Happy</h:table>
```
### setNamespace ### setNamespace
...@@ -127,21 +140,23 @@ setNamespace(prefix: string, namespace: string): void ...@@ -127,21 +140,23 @@ setNamespace(prefix: string, namespace: string): void
写入当前元素标记的命名空间。 写入当前元素标记的命名空间。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| prefix | string | 是 | 当前元素及其子元素的前缀。 | | -------- | -------- | -------- | -------- |
| namespace | string | 是 | 当前元素及其子元素的命名空间。 | | prefix | string | 是 | 当前元素及其子元素的前缀。 |
| namespace | string | 是 | 当前元素及其子元素的命名空间。 |
- 示例:
``` **示例:**
var arrayBuffer = new ArrayBuffer(1024);
var thatSer = new xml.XmlSerializer(arrayBuffer); ```
thatSer.setDeclaration(); var arrayBuffer = new ArrayBuffer(1024);
thatSer.setNamespace("h", "http://www.w3.org/TR/html4/"); var thatSer = new xml.XmlSerializer(arrayBuffer);
thatSer.startElement("note"); thatSer.setDeclaration();
thatSer.endElement();// = >'<?xml version="1.0" encoding="utf-8"?>\r\n<h:note xmlns:h="http://www.w3.org/TR/html4/"/>'; thatSer.setNamespace("h", "http://www.w3.org/TR/html4/");
``` thatSer.startElement("note");
thatSer.endElement();// = >'<?xml version="1.0" encoding="utf-8"?>\r\n<h:note xmlns:h="http://www.w3.org/TR/html4/"/>';
```
### setComment ### setComment
...@@ -149,19 +164,21 @@ setComment(text: string): void ...@@ -149,19 +164,21 @@ setComment(text: string): void
写入comment属性。 写入comment属性。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| text | string | 是 | 当前元素的注释内容。 | | -------- | -------- | -------- | -------- |
| text | string | 是 | 当前元素的注释内容。 |
- 示例: **示例:**
```
var arrayBuffer = new ArrayBuffer(1024); ```
var thatSer = new xml.XmlSerializer(arrayBuffer); var arrayBuffer = new ArrayBuffer(1024);
thatSer.startElement("note"); var thatSer = new xml.XmlSerializer(arrayBuffer);
thatSer.setComment("Hi!"); thatSer.startElement("note");
thatSer.endElement(); // => '<note>\r\n <!--Hi!-->\r\n</note>'; thatSer.setComment("Hi!");
``` thatSer.endElement(); // => '<note>\r\n <!--Hi!-->\r\n</note>';
```
### setCDATA ### setCDATA
...@@ -170,17 +187,19 @@ setCDATA(text: string): void ...@@ -170,17 +187,19 @@ setCDATA(text: string): void
写入CDATA属性。 写入CDATA属性。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| text | string | 是 | CDATA属性的内容。 | | -------- | -------- | -------- | -------- |
| text | string | 是 | CDATA属性的内容。 |
- 示例: **示例:**
```
var arrayBuffer = new ArrayBuffer(1028); ```
var thatSer = new xml.XmlSerializer(arrayBuffer); var arrayBuffer = new ArrayBuffer(1028);
thatSer.setCDATA('root SYSTEM') // => '<![CDATA[root SYSTEM]]>'; var thatSer = new xml.XmlSerializer(arrayBuffer);
``` thatSer.setCDATA('root SYSTEM') // => '<![CDATA[root SYSTEM]]>';
```
### setText ### setText
...@@ -189,20 +208,22 @@ setText(text: string): void ...@@ -189,20 +208,22 @@ setText(text: string): void
设置Text方法。 设置Text方法。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| text | string | 是 | text属性的内容。 |
- 示例: | 参数名 | 类型 | 必填 | 说明 |
``` | -------- | -------- | -------- | -------- |
var arrayBuffer = new ArrayBuffer(1024); | text | string | 是 | text属性的内容。 |
var thatSer = new xml.XmlSerializer(arrayBuffer);
thatSer.startElement("note"); **示例:**
thatSer.setAttributes("importance", "high");
thatSer.setText("Happy1"); ```
thatSer.endElement(); // => '<note importance="high">Happy1</note>'; var arrayBuffer = new ArrayBuffer(1024);
``` var thatSer = new xml.XmlSerializer(arrayBuffer);
thatSer.startElement("note");
thatSer.setAttributes("importance", "high");
thatSer.setText("Happy1");
thatSer.endElement(); // => '<note importance="high">Happy1</note>';
```
### setDocType ### setDocType
...@@ -211,17 +232,19 @@ setDocType(text: string): void ...@@ -211,17 +232,19 @@ setDocType(text: string): void
写入DocType属性。 写入DocType属性。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| text | string | 是 | DocType属性的内容。 |
- 示例: | 参数名 | 类型 | 必填 | 说明 |
``` | -------- | -------- | -------- | -------- |
var arrayBuffer = new ArrayBuffer(1024); | text | string | 是 | DocType属性的内容。 |
var thatSer = new xml.XmlSerializer(arrayBuffer);
thatSer.setDocType('root SYSTEM'); // => '<!DOCTYPE root SYSTEM>'; **示例:**
```
```
var arrayBuffer = new ArrayBuffer(1024);
var thatSer = new xml.XmlSerializer(arrayBuffer);
thatSer.setDocType('root SYSTEM'); // => '<!DOCTYPE root SYSTEM>';
```
## XmlPullParser ## XmlPullParser
...@@ -233,29 +256,31 @@ constructor(buffer: ArrayBuffer | DataView, encoding?: string) ...@@ -233,29 +256,31 @@ constructor(buffer: ArrayBuffer | DataView, encoding?: string)
创建并返回一个XmlPullParser对象,该XmlPullParser对象传参两个, 第一参数是ArrayBuffer或DataView类型的一段内存,第二个参数为文件格式(默认为UTF-8) 创建并返回一个XmlPullParser对象,该XmlPullParser对象传参两个, 第一参数是ArrayBuffer或DataView类型的一段内存,第二个参数为文件格式(默认为UTF-8)
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| buffer | ArrayBuffer&nbsp;\|&nbsp;DataView | 是 | 含有xml文本信息的ArrayBuffer或者DataView。 |
| encoding | string | 否 | 编码格式(仅支持utf-8)。 |
- 示例: | 参数名 | 类型 | 必填 | 说明 |
``` | -------- | -------- | -------- | -------- |
var strXml = | buffer | ArrayBuffer&nbsp;\|&nbsp;DataView | 是 | 含有xml文本信息的ArrayBuffer或者DataView。 |
| encoding | string | 否 | 编码格式(仅支持utf-8)。 |
**示例:**
```
var strXml =
'<?xml version="1.0" encoding="utf-8"?>' + '<?xml version="1.0" encoding="utf-8"?>' +
'<note importance="high" logged="true">' + '<note importance="high" logged="true">' +
' <title>Happy</title>' + ' <title>Happy</title>' +
' <todo>Work</todo>' + ' <todo>Work</todo>' +
' <todo>Play</todo>' + ' <todo>Play</todo>' +
'</note>'; '</note>';
var arrayBuffer = new ArrayBuffer(strXml.length*2); var arrayBuffer = new ArrayBuffer(strXml.length*2);
var bufView = new Uint8Array(arrayBuffer); var bufView = new Uint8Array(arrayBuffer);
var strLen = strXml.length; var strLen = strXml.length;
for (var i = 0; i < strLen; ++i) { for (var i = 0; i < strLen; ++i) {
bufView[i] = strXml.charCodeAt(i);//设置arraybuffer方式 bufView[i] = strXml.charCodeAt(i);//设置arraybuffer方式
} }
var that = new xml.XmlPullParser(arrayBuffer); var that = new xml.XmlPullParser(arrayBuffer);
``` ```
### parse ### parse
...@@ -264,38 +289,40 @@ parse(option: ParseOptions): void ...@@ -264,38 +289,40 @@ parse(option: ParseOptions): void
该接口用于解析xml。 该接口用于解析xml。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| option | [ParseOptions](#parseoptions) | 是 | 用户控制以及获取解析信息的选项。 |
- 示例: | 参数名 | 类型 | 必填 | 说明 |
``` | -------- | -------- | -------- | -------- |
var strXml = | option | [ParseOptions](#parseoptions) | 是 | 用户控制以及获取解析信息的选项。 |
**示例:**
```
var strXml =
'<?xml version="1.0" encoding="utf-8"?>' + '<?xml version="1.0" encoding="utf-8"?>' +
'<note importance="high" logged="true">' + '<note importance="high" logged="true">' +
' <title>Happy</title>' + ' <title>Happy</title>' +
' <todo>Work</todo>' + ' <todo>Work</todo>' +
' <todo>Play</todo>' + ' <todo>Play</todo>' +
'</note>'; '</note>';
var arrayBuffer = new ArrayBuffer(strXml.length*2); var arrayBuffer = new ArrayBuffer(strXml.length*2);
var bufView = new Uint8Array(arrayBuffer); var bufView = new Uint8Array(arrayBuffer);
var strLen = strXml.length; var strLen = strXml.length;
for (var i = 0; i < strLen; ++i) { for (var i = 0; i < strLen; ++i) {
bufView[i] = strXml.charCodeAt(i); bufView[i] = strXml.charCodeAt(i);
} }
var that = new xml.XmlPullParser(arrayBuffer); var that = new xml.XmlPullParser(arrayBuffer);
var arrTag = {}; var arrTag = {};
arrTag[0] = '132'; arrTag[0] = '132';
var i = 1; var i = 1;
function func(key, value){ function func(key, value){
arrTag[i] = 'key:'+key+' value:'+ value.getDepth(); arrTag[i] = 'key:'+key+' value:'+ value.getDepth();
i++; i++;
return true; return true;
} }
var options = {supportDoctype:true, ignoreNameSpace:true, tokenValueCallbackFunction:func} var options = {supportDoctype:true, ignoreNameSpace:true, tokenValueCallbackFunction:func}
that.parse(options); that.parse(options);
``` ```
## ParseOptions ## ParseOptions
...@@ -322,10 +349,11 @@ getColumnNumber(): number ...@@ -322,10 +349,11 @@ getColumnNumber(): number
获取当前列号,从1开始。 获取当前列号,从1开始。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| number | 返回当前列号。 | | -------- | -------- |
| number | 返回当前列号。 |
### getDepth ### getDepth
...@@ -334,10 +362,11 @@ getDepth(): number ...@@ -334,10 +362,11 @@ getDepth(): number
获取元素的当前深度。 获取元素的当前深度。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| number | 返回元素的当前深度。 | | -------- | -------- |
| number | 返回元素的当前深度。 |
### getLineNumber ### getLineNumber
...@@ -346,10 +375,11 @@ getLineNumber(): number ...@@ -346,10 +375,11 @@ getLineNumber(): number
获取当前行号,从1开始。 获取当前行号,从1开始。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| number | 返回当前行号。 | | -------- | -------- |
| number | 返回当前行号。 |
### getName ### getName
...@@ -358,10 +388,11 @@ getName(): string ...@@ -358,10 +388,11 @@ getName(): string
获取当前元素名称。 获取当前元素名称。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| string | 返回当前元素名称。 | | -------- | -------- |
| string | 返回当前元素名称。 |
### getNamespace ### getNamespace
...@@ -370,10 +401,11 @@ getNamespace(): string ...@@ -370,10 +401,11 @@ getNamespace(): string
获取当前元素的命名空间。 获取当前元素的命名空间。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| string | 返回当前元素的命名空间。 | | -------- | -------- |
| string | 返回当前元素的命名空间。 |
### getPrefix ### getPrefix
...@@ -382,10 +414,11 @@ getPrefix(): string ...@@ -382,10 +414,11 @@ getPrefix(): string
获取当前元素前缀。 获取当前元素前缀。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| string | 返回当前元素前缀。 | | -------- | -------- |
| string | 返回当前元素前缀。 |
### getText ### getText
...@@ -394,10 +427,11 @@ getText(): string ...@@ -394,10 +427,11 @@ getText(): string
获取当前事件的文本内容。 获取当前事件的文本内容。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| string | 返回当前事件的文本内容。 | | -------- | -------- |
| string | 返回当前事件的文本内容。 |
### isEmptyElementTag ### isEmptyElementTag
...@@ -406,10 +440,11 @@ isEmptyElementTag(): boolean ...@@ -406,10 +440,11 @@ isEmptyElementTag(): boolean
判断当前元素是否为空元素。 判断当前元素是否为空元素。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| boolean | 返回true,当前元素为空元素。 | | -------- | -------- |
| boolean | 返回true,当前元素为空元素。 |
### isWhitespace ### isWhitespace
...@@ -418,10 +453,11 @@ isWhitespace(): boolean ...@@ -418,10 +453,11 @@ isWhitespace(): boolean
判断当前文本事件是否仅包含空格字符。 判断当前文本事件是否仅包含空格字符。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| boolean | 返回true,当前文本事件仅包含空格字符。 | | -------- | -------- |
| boolean | 返回true,当前文本事件仅包含空格字符。 |
### getAttributeCount ### getAttributeCount
...@@ -430,10 +466,10 @@ getAttributeCount(): number ...@@ -430,10 +466,10 @@ getAttributeCount(): number
获取当前开始标记的属性数。 获取当前开始标记的属性数。
- 返回值: **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| number | 当前开始标记的属性数。 | | number | 当前开始标记的属性数。 |
## EventType ## EventType
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册