HarmonyOS Map转Object

IDE编译报错,操作步骤:

let jsonObject:Record<string, object> = {} //新增Record对象用来存储转换后的结果
modules.forEach((value,key) => {
  if (key != undefined && value != undefined) {
    jsonObject[key] = value;
  }
})
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.

编译报错:Type ‘String’ cannot be used as an index type. <ArkTSCheck>

HarmonyOS
2024-12-27 15:58:47
740浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
FengTianYa

ArkT限制Object标准库的方法使用。

方案一:接口封装在ts文件里作为一个工具类,在ets里使用

// ObjectUtil.ts
export class ObjectUtil {
  static ObjectFromEntries(source: Iterable<readonly any[]>): Object {
    return Object.fromEntries(source)
  }
}

// index.ets
let dataMap = new Map<string, string>()
  .set("key1", "value1")
  .set("key2", "value2")
let result = ObjectUtil.ObjectFromEntries(dataMap.entries())
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.

方案二:转为Record对象(Object)

let dataMap = new Map<string, string>()
  .set("key1", "value1")
  .set("key2", "value2")
let result:Record<string, string> = {}
let stringValue = dataMap.entries()
while (!stringValue.next().done){
  result[stringValue.next().value[0]] = stringValue.next().value[1]
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
分享
微博
QQ
微信
回复
2024-12-27 17:19:19


相关问题
HarmonyOS class Map
924浏览 • 1回复 待解决
HarmonyOS JSON怎么Map
1201浏览 • 1回复 待解决
HarmonyOS mapjson对象
957浏览 • 1回复 待解决
HarmonyOS Object怎么转换成map
734浏览 • 1回复 待解决
HarmonyOS json对象map类型
1070浏览 • 1回复 待解决
HarmonyOS mapjson怎么实现?
726浏览 • 1回复 待解决
HarmonyOS Jsonmap该使用哪个接口
907浏览 • 1回复 待解决
如何将Map/HashMap转为Object对象?
3404浏览 • 1回复 待解决
如何实现MapJSON字符串
2061浏览 • 1回复 待解决
MapJSON,哪位大佬知道怎么解决啊?
2486浏览 • 0回复 待解决
HarmonyOS Objectobject的区别
1323浏览 • 1回复 待解决
HarmonyOS [object, object]是如何读取的?
927浏览 • 1回复 待解决
HarmonyOS Object接口解析
692浏览 • 1回复 待解决
HarmonyOS Map类型
482浏览 • 1回复 待解决
HarmonyOS Map解析
578浏览 • 0回复 待解决
HarmonyOS object.assign实现
932浏览 • 1回复 待解决
HarmonyOS the map permission is not enabled
640浏览 • 1回复 待解决