как "убрать" 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, время: 17:48. |