如何在 angular/typescript 中执行字符串插值以从变量中访问值?
How to perform string interpolation in angular/typescript to access value from within a variable?
我有一个变量,比如:
demoVars:any[];
它还有 3 个属性,var1、var2、var3。
demoArr=[];
现在,在我的组件 class 中,我有一个变量 'selectedVar'
,它等于 属性 之一的名称; var1
、var2
或 var3
。
现在我要实现:
for( const demoVar of this.demoVars)
this.demoArr.push(demoVar.var1);
或
for( const demoVar of this.demoVars)
this.demoArr.push(demoVar.var2);
或
for( const demoVar of this.demoVars)
this.demoArr.push(demoVar.var3);
取决于 selectedVar 的值。
如果我使用:
for( const demoVar of this.demoVars)
this.demoArr.push(`demoVar.${this.selectedVar}`);
它推送字符串而不是值;
我想做类似的事情
for( const demoVar of this.demoVars)
this.demoArr.push(demoVar.`${this.selectedVar}`);
正确的语法是什么,或者正确的方法是什么?
使用括号表示法:
for( const demoVar of this.demoVars) {
this.demoArr.push(demoVar[this.selectedVar]);
}
为了额外的安全,你可以检查对象是否有这样的 属性:
for( const demoVar of this.demoVars) {
if (demoVar.hasOwnProperty(this.selectedVar)) {
this.demoArr.push(demoVar[this.selectedVar]);
}
}
我有一个变量,比如:
demoVars:any[];
它还有 3 个属性,var1、var2、var3。
demoArr=[];
现在,在我的组件 class 中,我有一个变量 'selectedVar'
,它等于 属性 之一的名称; var1
、var2
或 var3
。
现在我要实现:
for( const demoVar of this.demoVars)
this.demoArr.push(demoVar.var1);
或
for( const demoVar of this.demoVars)
this.demoArr.push(demoVar.var2);
或
for( const demoVar of this.demoVars)
this.demoArr.push(demoVar.var3);
取决于 selectedVar 的值。
如果我使用:
for( const demoVar of this.demoVars)
this.demoArr.push(`demoVar.${this.selectedVar}`);
它推送字符串而不是值;
我想做类似的事情
for( const demoVar of this.demoVars)
this.demoArr.push(demoVar.`${this.selectedVar}`);
正确的语法是什么,或者正确的方法是什么?
使用括号表示法:
for( const demoVar of this.demoVars) {
this.demoArr.push(demoVar[this.selectedVar]);
}
为了额外的安全,你可以检查对象是否有这样的 属性:
for( const demoVar of this.demoVars) {
if (demoVar.hasOwnProperty(this.selectedVar)) {
this.demoArr.push(demoVar[this.selectedVar]);
}
}