Благодарю!
Так тоже все получилось.
Сложение переменных типа String и Undefined
-
Доброго времени суток, пытаюсь решить свою проблему, но пока безуспешно.
Имеем пять переменных типа string (не все), которые при сложении должны стать ссылкой:VAR_SITE = "http://www.blablablla.com/"; VAR_REGION = "usa/"; VAR_CATEGORIES = "transport/"; VAR_PRICE = undefined; VAR_CURRENCY = "usd";Беда в том, что я не могу сложить эти переменные в одну (пробовал в инструменте Шаблон), если хоть одна из них имеет тип undefined, так как происходит ошибка. Ещё пробовал таким способом:
VAR_ALL = ([[SITE]] + [[REGION]] + [[CATEGORIES]] + [[PRICE]] + [[CURRENCY]]);Ошибок нет но undefined никуда не делся :
ALL: "http://www.blablablla.com/usa/transport/undefinedusd",А нужно так:
ALL: "http://www.blablablla.com/usa/transport/usd",Буду рад узнать как сложить строки так, чтоб если одна или несколько переменных имеет тип undefined это не влияло на результат сложения. Спасибо.
-
Можно, но подобная проверка потянет за собой кучу дополнительных действий. Просто в дальнейшем у меня могут быть не 5 а скажем 20 переменных в разных состояниях, это сильно растянет скрипт, но если не удастся найти более лёгкого решения не влекущего за собой большого количества действий воспользуюсь вашей рекомендацией, большое спасибо за подсказку.
-
@konkord При сложение со строкой в любом случае тип данных udefined будет также приводиться к строке. Можно как вариант загнать все переменные в массив. Потом сделать фильтр на тип данных, а потом объединить в строку. На js это будет выглядеть примерно так:
var arr_values=[ value1, value2, value3 ]; var str=arr_values.filter(function(item){ return typeof(item)=='string'; }).join('');Или еще проще
function stringUndefined(string){ if(typeof(string)=='undefined'){ return ''; }; return string; }; var str=stringUndefined(value1)+stringUndefined(value2)+stringUndefined(value3);