HarmonyOS 如何方便的自定义对象传参数

如何方便的自定义对象传参数

HarmonyOS
2024-12-20 16:56:04
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Excelsior_abit

在ArkTS语法中对于字典是有约束的,使用map只能通过set的方式在ArkTS中,对象的属性名不能为数字或字符串。例外:ArkTS支持属性名为字符串字面量和枚举中的字符串值。通过属性名访问类的属性,通过数值索引访问数组元素。ArkTS中:

class X {
  public name: string = ''
}
let x: X = { name: 'x' };
console.log(x.name);

let y = ['a', 'b', 'c'];
console.log(y[2]);

在需要通过非标识符(即不同类型的key)获取数据的场景中,使用Map<Object, some_type>。

let z = new Map<Object, string>();
z.set('name', '1');
z.set(2, '2');
console.log(z.get('name'));
console.log(z.get(2));

enum Test {
  A = 'aaa',
  B = 'bbb'
}

let obj: Record<string, number> = {
  [Test.A]: 1,   // 枚举中的字符串值
  [Test.B]: 2,   // 枚举中的字符串值
  ['value']: 3   // 字符串字面量
}
分享
微博
QQ
微信
回复
2024-12-20 18:43:34
相关问题
如何在BuildProfile中自定义参数
572浏览 • 1回复 待解决
HarmonyOS 自定义编译构建参数
434浏览 • 1回复 待解决
如何自定义拼接设置UserAgent参数
2629浏览 • 3回复 待解决
ArkTS如何自定义数组对象排序规则
444浏览 • 1回复 待解决
自定义参数BuildProfile问题汇总
2132浏览 • 1回复 待解决
如何理解自定义弹窗中gridCount参数
2628浏览 • 1回复 待解决
json 如何转换成自定义业务类对象
1177浏览 • 1回复 待解决
自定义配置参数设定有会吗?
2169浏览 • 1回复 待解决
如何实现ArkTS与C/C++对象传
1134浏览 • 1回复 待解决
HarmonyOS 弱引用不支持自定义对象
411浏览 • 1回复 待解决