-5

ここで、カンマ区切りで 3 つの異なる値を連結すると、値が null の場合、カンマが連結されます。値が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 に答える