通过用于排序的字符串访问typescript中类的属性

通过用于排序的字符串访问typescript中类的属性,typescript,Typescript,问题很简单,在javascript中,我可以有这样一个对象 var obj={ par1:'value1', par2:'value2' } 我可以通过这种方式访问值obj['par1']在TypeScript中是否可以使用这样的类执行相同的操作: export class obj{ par1:string; par2:string; } this.obj['par1']=value1 let docs: Documents[] = []; docs.pus

问题很简单,在javascript中,我可以有这样一个对象

var obj={
    par1:'value1',
    par2:'value2'
}
我可以通过这种方式访问值
obj['par1']
TypeScript
中是否可以使用这样的类执行相同的操作:

export class obj{
    par1:string;
    par2:string;
}

this.obj['par1']=value1
let docs: Documents[] = [];
docs.push(new Documents('value1', 'value2'));
docs.push(new Documents('value3', 'value4'));
更新 这是文档类

export class Documents {
    par1: string
    par2: string
    constructor(par1: string,
        par2: string
    ){
        this.par1=par1
        this.par2=par2
    }
}
这是我的尝试:

private docs:Documents[]=new Documents[
    new Documents('value1','value2'),
    new Documents('value3','value4')
];
sort(ordertype:string,property:string){
    for(let doc of this.docs){
        for(let field in doc)
            console.log(doc[field])
    }
}
这是一个错误:

[ts]元素隐式具有“any”类型,因为索引表达式不是“number”类型

我甚至试着把它串起来,但什么也没有

更新2
我已经看到了错误,我更正了它,上面的代码是正确的并且可以工作。

尝试用
console.log((doc as any)[field])
替换
console.log((doc as any)[field])
如果不正确地创建
文档
数组,应该是这样的:

export class obj{
    par1:string;
    par2:string;
}

this.obj['par1']=value1
let docs: Documents[] = [];
docs.push(new Documents('value1', 'value2'));
docs.push(new Documents('value3', 'value4'));


如果您这样做了,那么您的代码工作正常,请检查它。

您尝试过吗?您是否收到任何错误?该类的实例是在何处创建的?好的,很抱歉,这是一个一般性问题,旨在获取有关typescript的一些信息,并了解javascript对象与typescript类之间的差异。完成该操作后,异常情况相同。