HarmonyOS 鸿蒙Next 如何遍历对象属性
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中遍历对象属性通常涉及反射机制。以下是一个基本的实现思路:
-
获取类的Class对象:通过
对象.getClass()
方法获取对象的Class对象。 -
获取类的所有字段:使用
Class.getDeclaredFields()
方法获取类的所有字段(包括私有字段)。如果只需要公共字段,可以使用Class.getFields()
。 -
遍历字段:使用循环遍历字段数组,通过
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