【问题标题】:Dynamically assign object a name Typescript动态地为对象命名打字稿
【发布时间】:2019-02-11 06:50:53
【问题描述】:

好的,所以我希望我的对象被动态命名为这样的东西

 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 中使用它。

任何想法如何解决这个问题?

【问题讨论】:

  • 具体是如何使用的?我没有看到 cid 在某些表达式的右侧。
  • @Cerberus 我想使用它,以便我可以根据保存在数据库中的 columnID 生成每个 cid
  • 您正试图将其用作密钥,因此您以后可以请求Obj1[cid],对吧?
  • @Cerberus 嗨,我刚刚发布了我认为也许它可以帮助您更好地了解我的情况

标签: typescript


【解决方案1】:

这并不重要,但如果将来有人想这样做,我可以这样做

   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,而是将其值放入 [] 并将其作为对象的名称。

抱歉问了这么奇怪的问题

【讨论】:

    【解决方案2】:

    好吧,您可以像使用表达式一样使用 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()]
               }
         }
    
    };
    

    【讨论】:

      猜你喜欢
      • 2019-03-13
      • 2020-12-01
      • 2020-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-22
      • 1970-01-01
      • 2023-03-07
      相关资源
      最近更新 更多