首页 > 解决方案 > 迭代两个对象的键以将一个对象属性设置为另一个 Typescript 的值

问题描述

我正在尝试遍历两个对象并仅将一些属性从一个对象设置为另一个对象的值。

对象是类型Outlet

这些是我想要从一个复制到另一个的键(还有更多,但为了简单起见,它们在这里)

const oldOutlet = new getOutletFromId(Id);
const newOutlet = new Outlet();

const keys: (keyof Outlet)[] = [
      "version",
      "isHidden",
      "groupId",
      "salesAreaId",
      "salesCodeId",
    ];

 keys.forEach((key) => {
        newOutlet[key] = oldOutlet[key];
      }
    });

但是我得到一个错误

Type 'string | number | boolean | Guid | ... more ... | null' is not assignable to type 'never'.
Type 'null' is not assignable to type 'never'

我知道我可以单独设置每个属性,但我对如何将其应用于一般属性并仍然确保循环中的某些类型安全感兴趣

标签: typescripttypes

解决方案


推荐阅读