【问题标题】:Defining javascript objects定义 javascript 对象
【发布时间】:2014-10-05 09:39:50
【问题描述】:

我正在尝试创建一个键值对 javascript 对象,如下所示:

var p={'revEv':[{'EventsId':rand, 
        if(Ext.getCmp('Val_'+id).getValue()!='E')
        'Status':Ext.getCmp('Val_'+id).getValue(),
        'core':Ext.fly('coreVal_'+id).dom.innerHTML,
        'transactionType':{'transactionTypeId':Ext.fly('oppVal_'+id).dom.innerHTML,'description':Ext.fly("oppDesc_"+id).dom.innerHTML},
        'timing':Ext.getCmp('quarter_'+id).getValue()},]}

如上所示,对于特定条目“状态” - 只有在满足特定条件时,我才需要创建/插入密钥。
在 javascript 中执行此操作的优雅方法是什么?

【问题讨论】:

  • 这不是有效的 JavaScript。您不能在对象文字中使用 if 语句。

标签: javascript javascript-objects


【解决方案1】:

初始化其他所有内容,然后在 if 语句中设置状态:

var p={'revEv':[{'EventsId':rand, 
    'core':Ext.fly('coreVal_'+id).dom.innerHTML,
    'transactionType':{'transactionTypeId':Ext.fly('oppVal_'+id).dom.innerHTML,'description':Ext.fly("oppDesc_"+id).dom.innerHTML},
    'timing':Ext.getCmp('quarter_'+id).getValue()},]}

if (Ext.getCmp('Val_'+id).getValue()!='E') {
    p.revEv[0].Status = Ext.getCmp('Val_'+id).getValue(),
}

【讨论】:

    【解决方案2】:

    你可以这样做

    var p = {};
    if(condition) p.key = value;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-20
      • 2011-05-09
      • 2013-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-14
      相关资源
      最近更新 更多