Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > JavaScript: Общие вопросы > Цикл по хэш-массиву |
Автор: check 20.8.2007, 11:47 | ||||
У меня есть хэш который нужно определенным образом отфильтровать
Написал функцию которая фильтрует хэш по ключу
и столкнулся с вышеназванной проблемой. В ИЕ7 функция не работает, а конкретно не работает цикл for (var key in plans) Почему так и что можно сделать? Добавлено через 13 минут и 30 секунд При это ие7 зараза ещё никаких ошибок не выдает. Для него есть какой-нибудь плагин для отладка JavaScript? Internet Explorer Developer Toolbar это не оно? |
Автор: dXdYdZ 20.8.2007, 12:02 |
Вместо функции HashFilter(x) можно написать plans[x]. Ведь всё равно 2 одинаковых ключа не допустимо. |
Автор: check 20.8.2007, 12:11 |
Об этом я не подумал, тогда наверное мне хэш вообще не подойдёт. |
Автор: Zeroglif 20.8.2007, 12:20 |
IE7 под рукой нет, но нужна ли вообще такая функция, зачем собирать что-то в массив (groups), если свойство всё-равно живёт в одном экземпляре, и есть ли необходимость сравнивать каждое свойство (key) исходного объекта (plans) с некой строкой (x) если можно просто один раз проверить наличие такого свойства в объекте if (x in plans)? |
Автор: check 20.8.2007, 13:07 |
Да-да, извините ступил. Тут хэши вообще не причём. Думаю, нужно создать два "параллельных" массива и фильтровать "правый" массив по значениям "левого". Дело в том, что то, что я пытался представить в виде ключей хэша - не набор уникальных значений, эти значения могут повторяться. |
Автор: check 20.8.2007, 18:31 | ||||||
Оффтоп получается, но наверное создавать новую тему смысла нет
Вот этот код опять-таки отказывается работать в IE, в FF работает нормально. Ошибку вызывает любая попытка присвоить что-либо document.getElementById('groups').innerHTML. С document.getElementById('groups') всё в порядке, возвращает объект. id="groups" присвоен пустой таблице
При этом IE обнаруживает в document.getElementById('groups').innerHTML теги <TBODY></TBODY>. Ладно, это его право, но я на всякий случай делаю так
По прежнему в FF все работает, а в IE все обламывается при первой же попытки записать что-то своё в innerHTML. Ну есть ещё конечно DOM, но хотелось бы обойтись innerHTML. |
Автор: Zeroglif 20.8.2007, 19:54 |
http://forum.vingrad.ru/index.php?showtopic=151361&view=findpost&p=1183807 |
Автор: check 20.8.2007, 21:36 |
Обидно... Ну ладно, DOM так DOM. |