简单的三元运算符

时间:2018-08-17 07:09:44

标签: javascript

 var args = {VehicleManipulation:[{
                        'a:Amount':[Amount],
                        'a:Comment':[Comment],
                        'a:Date':[date],
                        'a:DispatchingVehicleManipulationReasonID':[ReasonID],
                        'a:Distance':[Distance],
                     frEndTime? 'a:FirstDeadheadTripEndTime':[frEndTime], :'', 
                        'a:FirstDeadheadTripStartTime':[frStartTime],
                        'a:SecondDeadheadTripEndTime':[secondEndTime],
                        'a:SecondDeadheadTripStartTime':[secondStartTime],
                        'a:SubsystemID':[SubsystemNO],
                        'a:VehicleID':[VehicleID],
                        'a:VehicleManipulationID':[VehicleManipulationID],
                        'a:VehicleName':[VehicleName],
        }]};

如何在我的示例中使用三元运算符?

如果变量具有值,则将这行代码放入'a:FirstDeadheadTripEndTime':[frEndTime], 如果没有,不要放任何东西

现在我有语法错误

2 个答案:

答案 0 :(得分:1)

您首先需要该属性。然后是条件运算符。

'a:FirstDeadheadTripEndTime': frEndTime ? [frEndTime] : '', 
  

如果frEndTime没有值,我不想输入'a:FirstDeadheadTripEndTime'

然后,您可以将另一个对象与扩展对象一起使用(如果可能)

'a:Distance':[Distance],
...(frEndTime ? { 'a:FirstDeadheadTripEndTime': [frEndTime] } : {}),
'a:FirstDeadheadTripStartTime':[frStartTime],

答案 1 :(得分:0)

您缺少对象中的密钥,这是不正确的。您需要这样做:

  var args = {
  VehicleManipulation: [{
    'a:Amount': [Amount],
    'a:Comment': [Comment],
    'a:Date': [date],
    'a:DispatchingVehicleManipulationReasonID': [ReasonID],
    'a:Distance': [Distance],
    'a:FirstDeadheadTripStartTime': [frStartTime],
    'a:SecondDeadheadTripEndTime': [secondEndTime],
    'a:SecondDeadheadTripStartTime': [secondStartTime],
    'a:SubsystemID': [SubsystemNO],
    'a:VehicleID': [VehicleID],
    'a:VehicleManipulationID': [VehicleManipulationID],
    'a:VehicleName': [VehicleName],
  }]
};
if(frEndTime){
  args.VehicleManipulation[0]['a:FirstDeadheadTripEndTime'] = frEndTime
}

如果存在a:FirstDeadheadTripEndTime值,则只会添加键frEndTime