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拷贝拷贝
346浏览 • 1回复 待解决
HarmonyOS pixelmap拷贝问题
917浏览 • 1回复 待解决
HarmonyOS 对象实现拷贝
308浏览 • 1回复 待解决
HarmonyOS 如何对数组进行拷贝
527浏览 • 1回复 待解决
ArkWeb组件是否支持拷贝
904浏览 • 1回复 待解决
HarmonyOS ArkWeb组件是否支持拷贝
815浏览 • 2回复 待解决
ArkTS中如何实现对象的拷贝
825浏览 • 1回复 待解决
HarmonyOS 大整数如何处理
691浏览 • 1回复 待解决
HarmonyOS 如何处理axios请求
286浏览 • 1回复 待解决
HarmonyOS css如何处理safe area
214浏览 • 1回复 待解决
HarmonyOS 图片上传文件过大如何处理
282浏览 • 1回复 待解决
HarmonyOS应用如何处理用户权限请求?
456浏览 • 0回复 待解决
HarmonyOS 访问控制授权申请如何处理
88浏览 • 1回复 待解决
应用线程过多时如何处理
2137浏览 • 1回复 待解决
如何处理Redis的内存优化?
3088浏览 • 1回复 待解决
鸿蒙应用如何处理异步请求?
447浏览 • 0回复 待解决