微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 Typescript 中正确创建 [Key: string]?

如何解决如何在 Typescript 中正确创建 [Key: string]?

我想将其创建为最终结果:{"customerName: {"contains": "bri"}},但我一直在写入变量的名称。我已经尝试了很多东西,但无法按照我的意愿进行。希望这很简单,我只是完全忽略了它。

interface IGraphQLFilterVariable {
  [key: string]: [key: string] | any | IGraphQLFilterVariable[]
}
let property = "customerName";
let type = "contains";
let filter = "bri";

let singleFilter: IGraphQLFilterVariable = {};
singleFilter[property] = {
  type: filter
};
console.log(singleFilter);

Playground

解决方法

定义对象时,默认只有对象的是表达式。键被视为字符串,因此当您使用 { type: filter } 时,它本质上等同于 { "type": filter }

要将变量的值用作对象的键,请将键括在方括号中:

singleFilter[property] = { [type]: filter };

然后您的对象将查找变量 type 的值并将其用作对象的键。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。