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拷贝拷贝
1745浏览 • 1回复 待解决
HarmonyOS pixelmap拷贝问题
1900浏览 • 1回复 待解决
HarmonyOS 对象实现拷贝
1559浏览 • 1回复 待解决
HarmonyOS 如何对数组进行拷贝
1617浏览 • 1回复 待解决
HarmonyOS image的pixelmap如何进行拷贝
1037浏览 • 1回复 待解决
ArkWeb组件是否支持拷贝
1729浏览 • 1回复 待解决
HarmonyOS ArkWeb组件是否支持拷贝
1829浏览 • 1回复 待解决
ArkTS中如何实现对象的拷贝
2584浏览 • 1回复 待解决
HarmonyOS 大整数如何处理
1454浏览 • 1回复 待解决
HarmonyOS 如何处理axios请求
1177浏览 • 1回复 待解决
HarmonyOS css如何处理safe area
1394浏览 • 1回复 待解决
HarmonyOS 图片上传文件过大如何处理
1019浏览 • 1回复 待解决
HarmonyOS应用如何处理用户权限请求?
1190浏览 • 0回复 待解决
HarmonyOS 访问控制授权申请如何处理
932浏览 • 1回复 待解决
路由循环跳转如何处理
518浏览 • 0回复 待解决
应用线程过多时如何处理
2937浏览 • 1回复 待解决
鸿蒙应用如何处理异步请求?
1214浏览 • 0回复 待解决
如何处理Redis的内存优化?
3861浏览 • 1回复 待解决