Javascript-форум (https://javascript.ru/forum/)
-   Я не знаю javascript (https://javascript.ru/forum/ya-ne-znayu-javascript/)
-   -   Как сформировать строку из массива (https://javascript.ru/forum/ya-ne-znayu-javascript/3974-kak-sformirovat-stroku-iz-massiva.html)

di@mond 10.06.2009 12:25

Как сформировать строку из массива
 
Уважаемые друзья!!
Есть массив вида

all=newArray();
all[0]="layer1";
all[1]="layer2";
all[2]="layer3";
all[3]="layer4";
all[4]="layer5";

Как мне в цикле перебора этого массива, проверяя значение свойства каждого элемента сформировать строковую переменную вида
layerlist="layer1,layer3,layer4"

Цикл примерно такой

var layerlist;
for (var i=0;i<9;i++){
if (all [i].GetVisibility==true){
layerlist = layerlist +","+ all[i];
}
};

Спасибо за помощь!!!:thanks:

Kolyaj 10.06.2009 12:39

var filtered = [];
for (var i = 0; i < all.length; i++) {
    if (document.getElementById(all[i]).offsetHeight)
        filtered.push(all[i]);
}
alert(filtered.join(','));

BlackApricot 11.06.2009 12:03

Как сформировать строку из массива
 
В качестве имён нельзя использовать ключевые слова JS.

all=newArray();// нельзя

ALL, all2, allAr, all_ можно, ну прочие вариации.

Kolyaj 11.06.2009 12:06

BlackApricot, all -- не ключевое слово.

Gvozd 11.06.2009 12:12

Kolyaj,
зато window.all объект присутсвующий в виде атавизма в опере и осле
в нем содержится коллекция объектов по их ID_шникам

Kolyaj 11.06.2009 12:26

Gvozd,
с document.all путаешь.

BlackApricot 11.06.2009 12:43

Ну да, обозвал не совсем верно.
Просто использование подобных слов приводит к трудно отлавливаемым ошибкам.
Использование имён тегов, атрибутов HTML, не предсказуемо.
Не стоит искать себе приключения используя такие слова. :cray:

Gvozd 11.06.2009 12:44

кажется и вправду путаю
странно, но мне память назойливо орет, что в window.all что-то тоже иногда появляется стандартное, но я не могу вспомнить что именно, и при каких условиях
наврено меня просто с утра глючит

Kolyaj 11.06.2009 12:55

Цитата:

Сообщение от Gvozd
в window.all что-то тоже иногда появляется стандартное

undefined -- вполне себе стандартное. :)

di@mond 11.06.2009 17:35

Имя переделала на vse))) все заработало, правда не в цикле...пришлось для каждого слоя условие проверять. А вообще спасибо за помощь!!!:thanks:


Часовой пояс GMT +3, время: 12:24.