как "убрать" undefined?
Здравствуйте. Долго искал по форуму, но так и не нашел ответ на вопрос.
Допустим, у есть несколько переменных, и "в одну из них надо запихать остальные": var hh1 = '555' var hh2 = 'yyy' var hh3 = 'kkk' var hh = hh1+hh2+hh3 Всё было бы нормально, но если одной из переменных не присвоено значение, то в переменную hh запишется как то так: undefinedyyykkk Можно ли как-то убрать undefined, чтобы вместо него ничего не передавалось в целевую переменную? |
var hh = hh1 && hh1 + hh2 && hh2 + hh3 && hh3; !!! Если у Вас эти переменные могут быть вообще не объявлены, то возникнет ReferenceError и выполнение скрипта прервётся. В таком случае берите не переменную, а свойство из window: window.hh1 && hh1 // и т. д. |
большое спасибо!
|
Matre, ты бы хоть проверял сначала, прежде чем написать:)
Diego, var hh = (hh1 || '') + (hh2 || '') + (hh3 || ''); |
Забыл про приоритет операций.
(a && a) + (b && b) + (c && c) Так точно работает. |
var a = 'a', b, c = 'c'; alert( (a && a) + (b && b) + (c && c) ); |
var a = 'a', b = 'b', c, d = null, e = 'e';
alert([a, b, c, d, e].join(''));
|
Цитата:
var item = []
var items
item[1] = 't'
item[2] = 'd'
item[0] = 's'
for(i=0;i<4;i++){
if(item[i]===undefined){}else{
if(i==0){
items = item[i]
}else{
items = items + item[i]
}}}
как то так. item[3] не существует, должен был быть undefined, но условия его отсекают |
тогда уж так:
var item = ['t', 'd', 's'], items = ''; for (i = 0; i < 4; i++) if (item[i] !== undefined) items += item[i]; alert(items); |
| Часовой пояс GMT +3, время: 02:53. |