HarmonyOS 关于合并对象

https://developer.huawei.com/consumer/cn/doc/best-practices-V5/bpta-application-aspect-programming-design-V5

我想在运行时合并两个对象为一个新对象。类似于js中的解构赋值。

阅读了面向切面编程,我想在运行时,动态的获取若干对象的prototype,然后把这若干对象的prototype合并成一个新对象,让新对象具备所有若干对象的属性和方法。

let obja:Object={a:'a'};
let  objb:Object={b:'b'};
let objNew={...obja,...objb}

类似与这种该如何实现呢

HarmonyOS
4天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
put_get

把若干个对象合并成一个对象,可以参考这个demo:

function assign(target: Record<string, object>, source: object[]): Record<string, object>{
  for(const item of source){
    for(const key of Object.keys(item)){
      target[key] = Reflect.get(item, key)
    }
  }
  return target;
}

这个方法只能是合并属性,不可以合并方法,如果要合并方法的话,还是推荐把对象放到一个集合里边去使用:

class classA{
  methodA(){
    console.log("methodA方法执行中")
  }
}
class classB{
  methodB(){
    console.log("methodB方法执行中")
  }
}
class classC{
  methodC(){
    console.log("methodC方法执行中")
  }
}
private objectArray:Array<object> = []
let objA = new classA()
let objB= new classB()
let objC= new classC()
this.objectArray.push(objA)
this.objectArray.push(objB)
this.objectArray.push(objC)
let A:classA = this.objectArray[0] as classA
A.methodA()
分享
微博
QQ
微信
回复
3天前
相关问题
如何在ArkTS中合并对象
1601浏览 • 1回复 待解决
HarmonyOS 如何合并两个对象
90浏览 • 1回复 待解决
如何在ArkTS中合并对象
1090浏览 • 1回复 待解决
有谁知道如何合并两个对象
2848浏览 • 1回复 待解决
HarmonyOS type如何合并
48浏览 • 1回复 待解决
HarmonyOS 多张string图片合并成一张
25浏览 • 1回复 待解决
MySQL如何多表合并查询?
2720浏览 • 1回复 待解决
HarmonyOS rawFile文件夹合并问题
61浏览 • 1回复 待解决
postgresql 如何合并.bak内数据?
2722浏览 • 1回复 待解决
HarmonyOS ets文件,合并两个Record记录
636浏览 • 1回复 待解决