HarmonyOS 深拷贝关于list类型如何处理?

目前ArkTS不支持any类型,没办法在ets中写深拷贝逻辑,但是在ts文件中写深拷贝时,list数据类型又不支持,如何处理?

HarmonyOS
2024-11-25 12:02:16
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
put_get

参考:

function deepCopy(obj: ESObject): ESObject { 
  if (typeof obj !== "object" || obj === null) { 
    return obj; 
  } 
 
  let copy: ESObject; 
  if (Array.isArray(obj)) { 
    copy = []; 
    for (let i = 0; i < obj.length; i++) { 
      copy[i] = deepCopy(obj[i]); 
    } 
  } else { 
    copy = {}; 
    for (let i = 0; i < obj.length(); i++) { 
      let key:ESObject=obj[i]; 
      if (obj.hasOwnProperty(key)) { 
        copy[key] = deepCopy(obj[key]); 
      } 
    } 
  } 
  return copy; 
} 
let arr1:Array<number> = new Array<number>(1, 2, 3); 
let arr2:Array<number> = deepCopy(arr1); 
arr2[2] = 4; 
 
console.log('arr1: '+String(arr1)); 
console.log('arr2: '+String(arr2));
分享
微博
QQ
微信
回复
2024-11-25 16:45:17
相关问题
HarmonyOS拷贝拷贝
208浏览 • 1回复 待解决
HarmonyOS pixelmap拷贝问题
820浏览 • 1回复 待解决
HarmonyOS 对象实现拷贝
171浏览 • 1回复 待解决
HarmonyOS 如何对数组进行拷贝
400浏览 • 1回复 待解决
HarmonyOS ArkWeb组件是否支持拷贝
625浏览 • 2回复 待解决
ArkWeb组件是否支持拷贝
719浏览 • 1回复 待解决
ArkTS中如何实现对象的拷贝
657浏览 • 1回复 待解决
HarmonyOS 如何处理axios请求
154浏览 • 1回复 待解决
HarmonyOS 大整数如何处理
570浏览 • 1回复 待解决
如何处理Redis的内存优化?
3000浏览 • 1回复 待解决
鸿蒙应用如何处理异步请求?
295浏览 • 0回复 待解决
应用线程过多时如何处理
2062浏览 • 1回复 待解决
HarmonyOS 图片上传文件过大如何处理
206浏览 • 1回复 待解决
HarmonyOS应用如何处理用户权限请求?
352浏览 • 0回复 待解决
求大佬告知如何处理大整数
510浏览 • 1回复 待解决
注册监听关机事件,该如何处理
932浏览 • 1回复 待解决
如何处理复杂 SVG 图形的交互?
191浏览 • 0回复 待解决
在ArkTS中如何处理耗时操作?
717浏览 • 1回复 待解决