Определить наименьшее число

  • Автор темы Автор темы Porosenok
  • Дата начала Дата начала

Porosenok

Client
Регистрация
26.09.2010
Сообщения
1 299
Реакции
125
Баллы
63
Допустим на странице есть какое-то количество числ. Я парсю их и мне нужно получить самое меньшее допустим. Как это можно сделать? Как-то через массивы и js?
 
определелить наименьшее число в массиве js -> в гугле поищите и побалуйтесь в js редакторе.
 
function sortNumber(a,b){ if(a>b) return 1; else return -1;}var n = [0.05,0.101,1.01,0.10, 40.8, 25, 100, 11.4232];n.sort(sortNumber);
это вставляете в свой JS код и получаете сортировку от меньшего к большему. Дальше уже операции с регулярками или заменами. Смотря что нужно сделать.
 
Спасибо, а если количество чисел неизвестно? это можно както учесть, т.е. массив будет разный всегда
 
а если количество чисел неизвестно
загнать в cписок что спарсили, потом действие со списком (объеденить элементы списка, разделитель ","). Полученное загнать в js код от daniilneet, в скобки [] (массив)
 
Количество чисел не имеет значения. Просто вставьте все свои числа между квадратными скобками и всё.
 
А число вы откуда берете? Я не знаю яваскрипта и посему реализую это на c#
беру текст из дивового блока с номерами страниц
"1 2 3 4 5 6 500 Следующая Предудыщая" Удаляю текст
А дальше
Код:
Развернуть Свернуть Копировать
string data = project.Variables["Variable0"].Value; // Это строка с моими значениями  - 1 ** 2 ** 3 ** 4 ** 5 ** 6 ** 7 ** 313 ** 314 ** 315 ** 316 **
var adresslist = project.Lists["адреса_страниц"];
List<string> list = new List<string>();
List<int> list2 = new List<int>();

// вот этот блок можно было бы поизящнее сделать в один список, но мне было лениво поздно и грустно)))))
list = data.Split(' ').ToList();
for(int i=0;i<list.Count;i++)
{
		list2.Add(int.Parse(list[i]));
}

list2.Sort(); //сортируем список
int x = list2[(list2.Count)-1]; // и берем самое нижнее значение, логично что это будет 316
for(int i=0;i<x;i++)
{

adresslist.Add("http://site.com/?page_num="+(i+1)); //пишем в свой список сразу адреса, которые надо оттоптать, т.к. в с# эта процедура выполняется побыстрее чем в Зенке		
}
return 0;  // ну и из вежливости (и чтобы пошло по true) возвращаем никому не нужный нолик
 
А число вы откуда берете? Я не знаю яваскрипта и посему реализую это на c#
беру текст из дивового блока с номерами страниц
"1 2 3 4 5 6 500 Следующая Предудыщая" Удаляю текст

а не проще просто на вхождение Следующая искать? и если есть то дергать ?page

вопрос знатокам. А что легче подгружать? С# код или JS?
 
а не проще просто на вхождение Следующая искать? и если есть то дергать ?page

вопрос знатокам. А что легче подгружать? С# код или JS?

Может и проще) но это каждый раз под новый сайт подтачивать, смотреть что там где...
а так взял текст из дива - удалил ненужное и готово.
По хорошему и сортировка не нужна - сиди да бери последний элемент массива, но по скольку значений не подразумевается много - можно пожертвовать капельку процессорного времени в угоду универсальности)))).

Можно конечно при обходе всех страниц брать и кликать на "Следующая", но имхо лучше сразу делать задание. Может я потом его сохраню в фаил и в несколько потоков отрабатывать буду)))) я же хочу чтобы список отработался в 100500 раз быстрее))) а не чтобы он отработался просто 100500 раз)

В общем на вкус и цвет все фломастеры разные - тут уж сами допиливайте как вам сподручнее)
 
вы че извратом грузите зенно?!
руками проинициализируй глобалный счетчик и все.
зачем статику/пагинацию парсить?
делай page=count++
 
  • Оценить
Реакции: Lexicon
гм... ну и так тоже можно конечно))) но что то я не доверяю глобальным переменным в зенно) Как то мне спокойнее когда у меня есть где то сформированное задание, которое можно как то оценить/сохранить/отфильтровать, чем носиться с одной переменной туда сюда и в каждом проекте при старте не забывать скинуть на 0. (кстати не факт что 1 проект будет делаться за 1 раз))))))

Но в любом случае изначально речь шла о получении максимального числа из ряда чисел))) страницы это частная задача)
 
но что то я не доверяю глобальным переменным в зенно

а как ты хранишь что напарсилось тогда? конкретно пагинацию. в локальных переменных чтоле?
и как ты собираешься сортировать ряды с коллизиями? Точнее что извлекать из них?
понимаешь какой это бред такое городить?
ты изобретаешь счетчик вместо одного екшена "Увеличить переменную на +1", изобретаешь этот же счетчик в числовых рядах/пагинации.
 
  • Оценить
Реакции: ol1ver
а как ты хранишь что напарсилось тогда? конкретно пагинацию. в локальных переменных чтоле?
и как ты собираешься сортировать ряды с коллизиями? Точнее что извлекать из них?
понимаешь какой это бред такое городить?
ты изобретаешь счетчик вместо одного екшена "Увеличить переменную на +1", изобретаешь этот же счетчик в числовых рядах/пагинации.

В переменных, которые потом сохраняю в фаил
Обычно мне не критично появление дублей, даже если они и возникают - то их число довольно смехотворное.
Я не несу бред. У меня, например, довольно часто не находится элемент страницы, из за каких то косяков, или вообще не грузится страница и мне намного проще в результате ошибок взять фаил, в котором остались все недопарсенные страницы и скормить его по новой, чем сидеть и гадать где там кто и как закончил. Не всегда я заканчиваю проект за 1 раз. Собственно вам то какое дело как я предпочитаю формировать свои проекты и с ними работать? Ваш способ я запомнил, и в случае необходимости обязательно перейму чужой полезный опыт, но топик не об этом.
Я, пожалуй, напомню что я использую данный способ в частном решении задачи по формированию списка страниц для обхода (удобнее мне так)
А изначально общий вопрос стоял как Допустим на странице есть какое-то количество числ. Я парсю их и мне нужно получить самое меньшее допустим. Как это можно сделать? Как-то через массивы и js? Так наверное заметнее будет. Поделитесь, пожалуйста, как решить эту задачу при помощи глобальной переменной.
 
Подскажите, есть список цен с плавающей точкой.
Из этого списка нужно найти минимальное и максимальное значение.

Как быть?
 

Делал так же но результат:
dfbc626d6c35.png
 
Делал так же но результат:
dfbc626d6c35.png
Попробуйте применять Trim к строкам перед тем как добавлять в список.
Trim удалит пробельные символы. Если они есть, то значение будет строкой и Сортировка как к числу не будет применена.
 
Попробуйте применять Trim к строкам перед тем как добавлять в список.
Trim удалит пробельные символы. Если они есть, то значение будет строкой и Сортировка как к числу не будет применена.

Увы ничего не изменилось. У меня значение 100.72 меньше чем 98.62 выдает
 
Если заменить точку на запятую у всех чисел
Возможно с Culture нужно будет поиграть
Код:
Развернуть Свернуть Копировать
return project.Lists["lst"].Select(double.Parse).Max<double>();//Максимальное
return project.Lists["lst"].Select(double.Parse).First<double>();//Минимальное
 
Так же требуется отсортировать числа в списке и получается 104 меньше 74

интересно почему у sergodjan66 получилось

Atom у вас получилось сделать как нужно ?

Screenshot_6.jpg
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)