Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Фильтрация массива с тегами 
:(
    Опции темы
JSman
Дата 3.8.2008, 14:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 279
Регистрация: 10.7.2006

Репутация: нет
Всего: 4



имею на странице 4050 тегов. Цель: убрать из них те теги, имена которых начинаются на /.

Код

    htmlNodes = [];
    allNodes = document.documentElement.getElementsByTagName('*');
    length = allNodes.length;
    re = new RegExp("");
    re.compile("^[^\/]");

$time('start::');    
    for (var i=0; i<length; i++)
    if (allNodes[i].tagName.match(re)) htmlNodes.push(allNodes[i]);
$time('end::');
$timeResult();


выполняется 100мс.
Есть ли способ быстрее выполнить данную операцию?

модуль $.js

Код

$timeArray = [];

$time = function (commentString)
{    
    if (commentString) window.$timeArray.push(commentString);
    window.$timeArray.push(new Date());

}

$timeResult = function ()
{
    var d = new Date;
    for (var i=0; i<$timeArray.length; i++)
    if ($timeArray[i] instanceof Date) $timeArray[i] = d - $timeArray[i];
    
    alert($timeArray);
}

$timeEmpty = function ()
{
    window.$timeArray = [];    
}

PM ICQ   Вверх
JSman
Дата 3.8.2008, 21:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 279
Регистрация: 10.7.2006

Репутация: нет
Всего: 4



Код

Core =
{
    asArray : function (object)
    {
        var result = [];

            for (var i = 0, l = object.length; i < l; i++) 
            result[i] = object[i];


            return result;
     }      

}

    node = document.documentElement;

    allNodes = Core.asArray(node.all);                    
    length = allNodes.length;
                    
    re.compile("^[^\/]");
                
    for (var i = 0; i < length; i++) 
    if (allNodes[i].canHaveChildren || allNodes[i].tagName.match(re)) htmlNodes.push(allNodes[i]);


Была проведена вот такая оптимизация. Замедление скорости наблидается при обращению к свойству tagName


Это сообщение отредактировал(а) JSman - 3.8.2008, 21:19
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0524 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.