【问题标题】:How to select property in object in typescript如何在打字稿中选择对象中的属性
【发布时间】:2021-04-23 13:00:25
【问题描述】:

如何根据作为第二个参数传递给函数的内容来选择对象属性?

interface Type{
  first:string;
  second:string;
}

function foo(args:Type,key:string) {
  console.log(args.key)//if key=="first" select args.first, if key=="second" select args.second
}

foo({first:"hi",second:"man"},"first")

【问题讨论】:

    标签: typescript interface


    【解决方案1】:

    这样做的更好方法是将第二个参数限制为对象本身可用的可用键的参数,例如:

    function foo(args: Type, key: keyof Type) {
        console.log(args[key]);
    }
    

    然后调用方法:

    foo({ first: "hi", second: "man" }, "first")
    

    以下导致错误:

    foo({ first: "hi", second: "man" }, "somethingElse")
    

    【讨论】:

      【解决方案2】:

      你可以这样写:args[key]

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-08-30
        • 2022-12-14
        • 1970-01-01
        • 1970-01-01
        • 2019-05-17
        • 2019-07-28
        • 1970-01-01
        • 2018-12-31
        相关资源
        最近更新 更多