- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Как снизить ДРР до 4,38% и повысить продажи с помощью VK Рекламы
Для интернет-магазина инженерных систем
Мария Лосева
В 2023 году Одноклассники пресекли более 9 млн подозрительных входов в учетные записи
И выявили более 7 млн подозрительных пользователей
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Прошу помощи в оптимизации следующего кода. Если логика его вообще неверная, прошу также подсказать, а не кидаться помидорами =)
Данный код обрабатывает результат выполнения php-кода, который в свою очередь возвращается двумя json_encode'ами.
Грубо говоря
(таких участков много)
И затем они все в другой массив(который уже возвращается JS-скрпипту)
skid - куда необходимо вставит полученное значение
koefparam - само значение
показать чистый исходник в новом окнеСкрыть/показать номера строкпечать кода с сохранением подсветки
var bt = eval("(" + data + ")");
var bt_i = [];
var bt_z = [];
var i;
var btlength = bt.length;
for(i=0;i<btlength; i++)
{
bt_i = eval("(" + bt + ")");
}
var btilength = bt_i.length;
for(i=0;i<btilength; i++)
{
var btiskidlength = bt_i.skid.length;
for(z=0;z<btiskidlength; z++)
{
$('#'+bt_i.skid[z]).text(''+bt_i.koefparam[z]);
}
}
Во-первых, зачем вы первый раз кодируете массив в json?
Во-вторых, судя по $('#' вы юзаете jquery? Если да, то там у аяксовых функций есть 4 параметр - тип данных, там можно поставить значение "json" - тогда можно будет к data обращаться сразу как к объекту - как минимум один eval уберете.
Дикий пионер добавил 22.02.2011 в 22:54
И что-то забыл спросить - цель-то у кода какая? В определенные элементы текст записать?
Большое спасибо!
Убрал первое кодирование в json и добавил параметр к $.post, следственно минус два eval и один цикл. Изменения заметны, но борюсь дальше =) Хотя мне кажется что уже все.
Цель кода вписать в ячейки таблицы различные значения. При этом id таблицы определяется php-кодом. Сейчас я думаю наибольшая нагрузка из-за цикла в цикле, так как значений довольно много.
Сейчас код выглядит так:
Отлично. Следующее мое предложение. Я всех условий вашей задачи не знаю, но если на сервере есть возможность сгенерировать масив вот таким образом:
то обрабатывать его можно будет так:
Дикий пионер добавил 22.02.2011 в 23:50
Если таблица реально большая и тормоза заметны, то может ее лучше на сервере генерировать и уже готовым куском html передавать?
Поменял сборку итогового массива, который уже все передает, с массива на соединение мелких массивов через array_merge и такая возможность появилась =).
Еще раз огромное спасибо!
Сейчас еще поиграюсь с текущей структурой и если тормоза останутся, то буду генерировать на сервере. Но пока что полет очень хороший! =)