ts 对象使用循环赋值的方式报错?

作者站长头像
站长
· 阅读数 17

ts 对象使用循环赋值的方式报错?

ts 对象使用循环赋值的方式报错?

ts 对象使用循环赋值的方式报错?如图所示,请问需要怎么写

回复
1个回答
avatar
test
2024-07-10

参考方法

Object.keys(form).forEach((v) => {
  const value = v as keyof typeof form
  form[value] = data[value]
})

但有时候没必要做得那么极端。像你这代码一看就懂得是在复制属性,可以偷个小懒直接写成

Object.keys(form).forEach((value) => {
  (form as any)[value] = (data as any)[value]
})

毕竟工具用来给人服务的,这种一看就不会出错的代码没必要还被工具束缚。

此外,如果是为了合并对象,还可以直接用

Object.assign(form, data)

请根据自己的需求选择适合的方法。

回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容