ArkTS不支持解构及assign,怎么给对象赋值?

interface A { 
    a:string = ‘’ 
    b:number = 0 
    c:Object = 
} 
let test1:A = {} 
let test2:A= {}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.

怎么将test1赋值给test2

HarmonyOS
2024-05-30 22:06:10
2299浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
mzshj

可以封装一个assign方法

原方法:

function assign<T, U>(target: T, source: U): T & U; 
const target = { a: 1, b: 2 }; 
const source = { b: 4, c: 5 }; 
const returnedTarget = Object.assign(target, source); 
console.log(target); 
// Expected output: Object { a: 1, b: 4, c: 5 }
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.

自己实现:

function assign(target: Record<string, Object>, …source: Object[]): Record<string, Object> { 
    for (let s of source) { 
        for (let k of Object.keys(s)) { 
            target[k] = Reflect.get(s, k) 
        } 
    } 
    return target 
} 
class D {b: number, c: number} 
const target: Record<string, Object> = { “a”: 1, “b”: 2, } 
const source: D = { b: 4, c: 5 } 
const returnedTarget: Record<string, Object> = Object.assign(target, source) 
console.log(target) 
// Expected output: Object { a: 1, b: 4, c: 5 }
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
分享
微博
QQ
微信
回复
2024-05-31 21:24:04


相关问题
如何实现解构Obejct.assign
1638浏览 • 1回复 待解决
HarmonyOS 后续是否会支持解构赋值
937浏览 • 1回复 待解决
HarmonyOS ArkTS如何解构对象
451浏览 • 1回复 待解决
HarmonyOS @ObservedV2不支持{} as Father对象
801浏览 • 1回复 待解决
arkts不支持bigint数据类型
3072浏览 • 1回复 待解决
HarmonyOS ArkTS不支持正则匹配吗?
800浏览 • 1回复 待解决
为什么FA模型不支持进程内对象共享
2847浏览 • 1回复 待解决
for .in 语法不支持,该怎么办啊?
1720浏览 • 1回复 待解决
ArkTs怎么传递对象或者类Native
3512浏览 • 1回复 待解决
HarmonyOS ArkTS不支持any数据类型做返回
839浏览 • 1回复 待解决
HarmonyOS 弱引用不支持自定义对象
792浏览 • 1回复 待解决
Toggle isOn不支持$$?
824浏览 • 1回复 待解决
HarmonyOS 编码集不支持
774浏览 • 1回复 待解决
web组件不支持localstorage
1503浏览 • 1回复 待解决
HarmonyOS 推送设备不支持
838浏览 • 1回复 待解决