HarmonyOS 鸿蒙Next 如何遍历对象属性

发布于 1周前 作者 vueper 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 如何遍历对象属性

class objC{ a:string=‘strrr’ b:number=123 c:string[]=[‘w’,‘q’] d:boolean=true } let obj=new objC()  如何遍历obj的属性

4 回复

可以使用

Object.entries(map).forEach(([key,value])=>{

   console.log(key,value)

})

参考链接:

https://blog.csdn.net/m0_62625930/article/details/134310917

遍历json数据,可以参考下面示例

const jsonStr = '{"name": "Alice", "age": 30}';

let jsonObj: Object = JSON.parse(jsonStr);

let keyArr: string[] = Object.keys(jsonObj);

let valueArr: string[] = Object.values(jsonObj);

let entryArr: [string, string][] = Object.entries(jsonObj)

for(let i = 0; i < entryArr.length; i++){

  console.log(keyArr[i]+":" + valueArr[i]);
}

你创建一个ts文件,把需要遍历的功能代码写在ts里,for key in就行

尝试 有用 感谢

在HarmonyOS鸿蒙Next中遍历对象属性通常涉及反射机制。以下是一个基本的实现思路:

  1. 获取类的Class对象:通过对象.getClass()方法获取对象的Class对象。

  2. 获取类的所有字段:使用Class.getDeclaredFields()方法获取类的所有字段(包括私有字段)。如果只需要公共字段,可以使用Class.getFields()

  3. 遍历字段:使用循环遍历字段数组,通过Field.getName()获取字段名,通过Field.get(对象)获取字段值。注意,如果字段是私有的,需要先调用Field.setAccessible(true)来取消Java的访问控制检查。

示例代码:

Object obj = ...; // 要遍历的对象
Class<?> clazz = obj.getClass();
Field[] fields = clazz.getDeclaredFields();
for (Field field : fields) {
    field.setAccessible(true); // 取消Java的访问控制检查
    String fieldName = field.getName();
    Object fieldValue = field.get(obj);
    System.out.println("Field Name: " + fieldName + ", Field Value: " + fieldValue);
}

该代码段将打印出对象的所有字段名及其值。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部