当前位置: 首页 > 面试题库 >

从打字稿接口对象中删除字段

麹浩瀚
2023-03-14
问题内容

我正在获取一个json响应并将其存储在mongodb中,但是我不需要的字段也正在进入数据库中,是否仍要剥离unseccary字段?

interface Test{
    name:string
};
const temp :Test = JSON.parse('{ "name":"someName","age":20 }') as Test;
console.log(temp);

输出:

{ name: 'someName', age: 20 }

问题答案:

您可以使用从给定对象中选取某些属性的函数:

function pick<T, K extends keyof T>(obj: T, ...keys: K[]): Pick<T, K> {
    const copy = {} as Pick<T, K>;

    keys.forEach(key => copy[key] = obj[key]);

    return copy;
}

然后:

let obj = { "name": "someName", "age": 20 };
let copy = pick(obj, "name") as Test;
console.log(copy); // { name: "someName" }


 类似资料:
  • 我想从另一个对象创建一个< code>ExampleInterface对象,但只保留< code>ExampleInterface包含的那些属性。 是否可以不手动复制每个密钥? 然后呢 提前谢谢你。

  • 我正在努力寻找 有什么不同?

  • 我有以下代码: 我遇到一个错误,指向.find并说: “字符串”类型的变量中不存在属性find。我知道错误在说什么,但是我如何将< code>$modal定义为一个我可以使用< code >的变量。查找于? 同样,现在我在typescript世界里,有没有更好的方法来定义modal,而不是在这里将它定义为var?

  • 我想知道最好的方法,比如我有两个物体 如果objectC由创建 我如何声明/描述objectC,以便编译器/IDE知道它同时具有objectA和objectB的属性? 我想找到一种不需要为objectA和objectB定义接口的方法。我不想为同一个属性写两次声明和定义/求值。如果我在一个对象上有太多的属性,这种冗余是很重要的。 (是否有一个运算符可以提取现有对象的接口/类型?) 可能吗?

  • 问题内容: 这是我的json: 这是模型: 查询: 问题是强制转换为我期望属性后,但它是字符串。它不应该转换为Date对象吗?我在这里想念什么? 问题答案: @Gunter是绝对正确的。我唯一要添加的实际上是如何反序列化json对象,使其日期属性保持为日期而不是字符串(从引用的帖子中看到这种方法并不容易)。 这是我的尝试: 您可以在此处看到这种方法的示例:JSON.parse在dateRevive

  • 当我在输入字段中输入object fields值时,我想从ArrayList中删除一个对象。 我有一个超类,我将添加不同米的一般信息。 然后我有一个时钟类,它扩展了超类,并有更多的值。 然后我有一个archive类,它创建了一个arrayList,其中包含不同的对象,并且当用户收到一个字段的提示时,会有一个删除对象的方法,在该字段中,他们可以将“regNum”作为字符串键入。 然后计划是,它迭代列