@kingsize said in Проблема с многопотоком и while:
@Fox А ниче так фокс там крутит :)
Тссс, не пали контору :D
Доброго времени суток, пытаюсь решить свою проблему, но пока безуспешно.
Имеем пять переменных типа 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);