-5

在这里,当我用逗号分隔符连接三个不同的值时,如果值为 null,则逗号是连接的。如果值为空,如何避免额外的逗号?

下面是我尝试过的代码。

var forecast = (is_forecast_checked()) ? 'f' : '';

var contract_volume = (is_contract_volume_checked()) ? 'd' : '';

var actual_volume = (is_actual_volume_checked()) ? 'a' : '';

var volume_type = forecast + ',' + contract_volume + ',' + actual_volume ;
4

2 回答 2

3

很简单

var forecast = (is_forecast_checked() ? 'f' : ''),
// add the comma here if its not null
    contract_volume = (is_contract_volume_checked() ? ',d' : ''),
// same here
    actual_volume = (is_actual_volume_checked() ? ',a' : ''),
// remove the comma concatenation
// replace unwanted, double commas, preceding or ending commas
    volume_type = (forecast + contract_volume + actual_volume).replace(/$,|^,|\B,/g,'');
于 2013-10-09T16:34:59.807 回答
1

那这个呢:

var array = [];

is_forecast_checked() && array.push("f");
is_contract_volume_checked() && array.push("d");
is_actual_volume_checked() && array.push("a");

volume_type = array.join(",");
于 2013-10-09T16:44:12.857 回答