Object标准库接口限制

语法整改后,ArkTS Object标准库接口限制调用。

应用场景

let dataMap = new Map<string, string>() 
    .set("key1", "value1") 
    .set("key2", "value2") 
let result = Object.fromEntries(dataMap.entries());

以上内容在930版本报错,Object已被限制使用。

需要将Map数据转为对象类型。

HarmonyOS
2024-05-26 17:54:26
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
胖头鱼圆滚滚

方案一

转为Record对象

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] 
}

方案二

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

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

使用

let result = ObjectUtil.ObjectFromEntries(dataMap.entries())
分享
微博
QQ
微信
回复
2024-05-27 22:41:55
相关问题
HarmonyOS API11限制使用标准
360浏览 • 1回复 待解决
HarmonyOS编解码接口标准
446浏览 • 1回复 待解决
标准化数据通路UDMF传输限制问题
325浏览 • 1回复 待解决
HarmonyOS 如何调用标准C++
489浏览 • 1回复 待解决
HarmonyOS Objectobject的区别
574浏览 • 1回复 待解决
HarmonyOS [object, object]是如何读取的?
191浏览 • 1回复 待解决
HarmonyOS 国密标准方案
221浏览 • 1回复 待解决
Socket接口可以绑定域名吗
606浏览 • 1回复 待解决
HarmonyOS 网络接口签名加密选型
395浏览 • 1回复 待解决
HarmonyOS http使用axios接口缓存
38浏览 • 1回复 待解决