动态分配对象名称Typescript

时间:2018-09-06 04:55:52

标签: typescript

好,所以我希望将我的对象动态命名为

 private prepareEntityMarkerInfo(markerObj: any) {

       let infoValues = markerObj.infoIdentities[1]
       var cid = markerObj.infoIdentities[1].getDataColumnIdentity()[0].getColumnInfo().getColumnID();
       
       var Obj1 = { 
   
             cid: {
              columnName:[infoValues.getDataColumnIdentity()[0].getColumnInfo().getColumnName()] ,
              columnValue: [infoValues.getDisplayVal()]
            }
          }
         
        };

我希望只要有新值,就可以更改Obj1内部的cid。因此,为此我在Obj1外部定义了它,然后在Obj1内部调用了它。

但是当我将鼠标悬停在var cid上时,它说cid已除垢但从未使用过,但是我在Obj1内部使用它。

有什么办法解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

并不是很重要,但是如果将来有人想这样做,我就能做到

   private prepareEntityMarkerInfo(markerObj: any) {

        let infoValues = markerObj.infoIdentities[1]
        var Obj1 = {
            [markerObj.infoIdentities[1].getDataColumnIdentity()[0].getColumnInfo().getColumnId()]: {
                columnName: [infoValues.getDataColumnIdentity()[0].getColumnInfo().getColumnName()],
                columnValue: [infoValues.getDisplayVal()]
            }
        }

    };

我无需在上面定义cid,而是将其值放入[]并将其作为对象的名称放置。

很抱歉出现这样一个奇怪的问题

答案 1 :(得分:0)

好吧,您可以像使用表达式一样使用cid变量:

 private prepareEntityMarkerInfo(markerObj: any) {

       let infoValues = markerObj.infoIdentities[1];
       var cid = markerObj.infoIdentities[1].getDataColumnIdentity()[0].getColumnInfo().getColumnID();

       var Obj1 = { 
            [cid]: {
              columnName:[infoValues.getDataColumnIdentity()[0].getColumnInfo().getColumnName()] ,
              columnValue: [infoValues.getDisplayVal()]
           }
     }

};