如果它是一个空字符串,则从javascript中的对象中省略一个值

时间:2015-12-03 07:24:52

标签: javascript

function a (METRIC,DIMENTIONS){
  var args = {
     'ids': ids,
     'start-date': START_DATE,
     'end-date': END_DATE,
     'metrics': METRIC,
     'dimensions': DIMENTIONS
  };
}

我在javascript中有这个数组,dimensions是一个可选值 我想检查DIMENTIONS是否为空字符串我希望我的args看起来像这样:

var args = {
     'ids': ids,
     'start-date': START_DATE,
     'end-date': END_DATE,
     'metrics': METRIC
  };

我试过这个:

var args = {
     'ids': ids,
     'start-date': START_DATE,
     'end-date': END_DATE,
     'metrics': METRIC,
    DIMENTIONS!=''? 'dimensions': DIMENTIONS : ''
  };

但这会使,保持在METRIC之后,并会产生错误

3 个答案:

答案 0 :(得分:2)

if( !args.dimensions )
 delete args.dimensions;

关于它:)

答案 1 :(得分:1)

天真而简单的解决方案:

function a (METRIC,DIMENTIONS){
  var args = {
     'ids': ids,
     'start-date': START_DATE,
     'end-date': END_DATE,
     'metrics': METRIC
  };
  
  if(DIMENTIONS) {
  args['dimensions']   = DIMENTIONS;
  }
}

答案 2 :(得分:1)

  

最初不要在对象中添加此键。检查是否是有效值然后添加它!

var args = {
  'ids': ids,
  'start-date': START_DATE,
  'end-date': END_DATE,
  'metrics': METRIC
};
if (typeOf DIMENTIONS !== 'undefined') {
  args.dimensions = DIMENTIONS;
}