TypeScript:使用函数参数作为JSON密钥名称

时间:2016-07-28 08:23:22

标签: javascript json typescript key function-parameter

以下情况:

setFlags(data:any, key:string) {
    this.flags.key= data;
}

假设数据为{'foo': 'is cool'},密钥为'bar',标志应如下所示:

{
    'bar': {'foo': 'is cool'}
}

为此目的是否有任何简单的解决方案?

编辑:对评论中问题的回复:它是一个TypeScriptClass,它将用作存储标志的服务。

@Injectable()
export class FormStoreService {
    flags:any = {};
    constructor() {}
    setFlags(data:any, key:string) {
        this.flags.key = data;
    }
}

1 个答案:

答案 0 :(得分:0)

当您编写foo.bar时,您正在设置名为bar的属性。如果属性的名称是动态的,则应使用foo[bar]语法。 因此setFlags方法变为

setFlags(data:any, key:string) {
 this.flags[key] = data;
}