HarmonyOS鸿蒙Next中将Object转成Map成功,然后使用Map对象访问其函数hasKey,会抛出异常该对象不可调用
HarmonyOS鸿蒙Next中将Object转成Map成功,然后使用Map对象访问其函数hasKey,会抛出异常该对象不可调用 将Object转成Map成功,然后使用Map对象访问其函数hasKey,会抛出异常该对象不可调用
如果是json字符串转map请参考以下方式
function func() {
let jsonRecord: Map<string, Object> = new Map(Object.entries(JSON.parse('{ "0": {"num": 1}, "1": {"num": 2} }')))
let j = jsonRecord.get('0')
jsonRecord.set('2', 'asf');
console.log(j?.toString());
}
更多关于HarmonyOS鸿蒙Next中将Object转成Map成功,然后使用Map对象访问其函数hasKey,会抛出异常该对象不可调用的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
有报错,new Map()需要两个参数,请问咋解决呀:
No overload matches this call. Overload 1 of 2, `(o: {[s: string]: Object} | ArrayLike<Object>): [string, Object][]`, gave the following error. Argument of type 'Object | null' is not assignable to parameter of type '{[s: string]: Object} | ArrayLike<Object>'. Overload 2 of 2, `(o: {}): [string, any][]`, gave the following error. Argument of type 'Object | null' is not assignable to parameter of type '{}'. Type 'null' is not assignable to type '{}'.
<AarkTSCheck>
```在HarmonyOS鸿蒙Next中,将Object转成Map后,使用Map对象的hasKey函数时抛出异常,表明该对象不可调用。这种情况通常是由于类型转换或对象初始化问题导致的。确保Object在转换为Map时,确实是一个有效的Map对象,并且该对象的原型链中包含了hasKey方法。检查转换过程中是否有数据丢失或类型不匹配的情况。如果Object本身不具备Map的特性,转换后调用Map的方法会抛出异常。
在HarmonyOS鸿蒙Next中,将Object转换为Map后,如果直接调用Map对象的方法如hasKey,可能会抛出“该对象不可调用”的异常。这通常是因为转换后的对象并非真正的Map实例,或者转换过程中丢失了Map的原型链。建议使用Map构造函数或new Map()显式创建Map对象,确保其方法和属性可用。如果是从JSON解析而来,确保解析后的数据结构符合Map的要求。

