如何在 Typescript 中正确创建 [Key: string]?
How to Create [Key: string] Properly in Typescript?
我想创建这个作为最终结果:{"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);
定义对象时,默认只有对象的值是表达式。键被视为字符串,因此当您使用 { type: filter }
时,它本质上等同于 { "type": filter }
.
要将变量的值用作对象的键,请将键括在方括号中:
singleFilter[property] = { [type]: filter };
然后您的对象将查找变量 type
的值并将其用作对象的键。
我想创建这个作为最终结果:{"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);
定义对象时,默认只有对象的值是表达式。键被视为字符串,因此当您使用 { type: filter }
时,它本质上等同于 { "type": filter }
.
要将变量的值用作对象的键,请将键括在方括号中:
singleFilter[property] = { [type]: filter };
然后您的对象将查找变量 type
的值并将其用作对象的键。