Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Microsoft .NET

  Все выпуски  

RFpro.ru: Microsoft .NET


РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты в разделе

Коцюрбенко Алексей aka Жерар
Статус: Мастер-Эксперт
Рейтинг: 489
∙ повысить рейтинг »
Асмик Гаряка
Статус: Советник
Рейтинг: 68
∙ повысить рейтинг »
CradleA
Статус: Профессионал
Рейтинг: 62
∙ повысить рейтинг »

∙ .NET Framework / Java

Номер выпуска:269
Дата выхода:21.05.2016, 17:21
Администратор рассылки:Коцюрбенко Алексей aka Жерар (Мастер-Эксперт)
Подписчиков / экспертов:19 / 13
Вопросов / ответов:3 / 8

Консультация # 169502: Здравствуйте. Скажите пожалуйста как провести сортировку в массиве на js , что получился следующий результат: ...
Консультация # 35687: Здравствйте, уважаемые эксперты. В ячейках таблицы лежат дивы, с своими ID. Можно ли скриптом узнать, что в пределах тега <div id=x></div> есть какой-то текст. Например текст :) C уважением, Рома. ...
Консультация # 61388: Как явно перевести текст получаемый из функции RecalculatePrice(); в число обыкновенное? Сейчас если функция RecalculatePrice(); возращает текст например 224.00 то после все действий (см. приложение) я получаю 10224.00 а хочется 234.00 Спаисбо!...

Консультация # 169502:

Здравствуйте.
Скажите пожалуйста как провести сортировку в массиве на js , что получился следующий результат:

Дата отправки: 17.06.2009, 11:33
Вопрос задал: Dima1967
Всего ответов: 2
Страница онлайн-консультации »


Консультирует Alex_Nick:

Здравствуйте, Dima1967.

Для получения нужного Вам результата при сортировке сравнивайте элементы массива как строки, например if(String(a[i])>String(a[i+1]){перестановка}

Консультировал: Alex_Nick
Дата отправки: 17.06.2009, 14:18

3
нет комментария
-----
Дата оценки: 17.06.2009, 20:16

Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Товарищ Бородин:

Здравствуйте, Dima1967.
Можно сравнивать элементы, но это путь, откровенно говоря, топорный. Гораздо лучше было бы на Вашем месте вспомнить, что Ваш массив - это Javascript-объект типа Array. А у объектов данного типа есть метод sort(compareFunction), где compareFunction - ссылка на функцию сравнения. Ее, эту функцию, с помощью которой Вы хотите упорядочивать массив, надо написать предварительно, но это параметр необязательный. Но так как, насколько я понимаю, члены массива упорядочиваются у Вас не в слишком алфавитном порядке, напишем функцию. Итак, общий код примерно следующий:

// функция сравнения должна возвращать следующие значения:
// 1, если a следует после b
// 0, если порядок следования не меняется
// -1, если b следует после a
function compare(a, b) {
var p_a = a.split('_');
var p_b = b.split('_');
// теперь переходим непосредственно к сравнению строк
if (p_a[0] < p_b[0]) {
// если первая цифра первого ч исла меньше, чем первая цифра второго числа, то вторая строка следует за первой
return -1;
}

if (p_a[0] > p_b[0]) {
// если первая цифра первого числа больше, чем первая цифра второго числа, то первая строка следует за второй
return 1;
}
if (p_a[0] == p_b[0]) {
// если первые цифры обоих чисел равны, то сравниваем вторые числа
if (p_a[1] < p_b[1]) {
// если второе число больше первого, вторая строка следует за первой
return -1;
} else {
// а здесь наоборот
return 1;
}
}
}
var a = [1,1_1...]; // исходный массив
var b = a.sort(compare); // получаем нужный нам массив.

С уважением, Товарищ Бородин

Консультировал: Товарищ Бородин
Дата отправки: 17.06.2009, 15:27

5
5
-----
Дата оценки: 17.06.2009, 20:15

Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 35687:

Здравствйте, уважаемые эксперты.
В ячейках таблицы лежат дивы, с своими ID.

Можно ли скриптом узнать, что в пределах тега <div id=x></div> есть какой-то текст. Например текст :)
C уважением, Рома.

Дата отправки: 18.02.2006, 14:54
Вопрос задал: Rombs
Всего ответов: 4
Страница онлайн-консультации »


Консультирует Lector:

Здравствуйте, Rombs!
alert(document.all.x.innerText);
alert(document.all.x.innerHTML);

Консультировал: Lector
Дата отправки: 18.02.2006, 15:02
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Ерёмин Андрей:

Здравствуйте, Rombs!
Да, можно. Свойство innerText. Применимо абсолютно для любого тега и возвращает его содержимое.

Консультировал: Ерёмин Андрей
Дата отправки: 18.02.2006, 15:58
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует spider:

Здравствуйте, Rombs!
да можно через:
x.innerHTML
так можно и читать и писать

Консультировал: spider
Дата отправки: 18.02.2006, 17:51
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Cтепанов Андрей Валерьевич:

Здравствуйте, Rombs!
Можно. Используйте DOM.
Почитайте: http://w3c.org

Приложение:

Консультировал: Cтепанов Андрей Валерьевич
Дата отправки: 19.02.2006, 23:50
Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 61388:

Как явно перевести текст получаемый из функции RecalculatePrice();
в число обыкновенное?
Сейчас если функция RecalculatePrice(); возращает текст например 224.00 то после все действий (см. приложение) я получаю
10224.00 а хочется 234.00
Спаисбо!

Дата отправки: 05.11.2006, 19:15
Вопрос задал: Alexburzak
Всего ответов: 2
Страница онлайн-консультации »


Консультирует Загиров Рустам:

Здравствуйте, Alexburzak!
Это всё происходит из-за несоответствия типов: PriceTotal - строка. Для преобразования в число нужно воспользоваться функцией parseFloat().

PriceTotal =parseFloat(RecalculatePrice());
Tmp = 10 + PriceTotal;
alert(Tmp);

Если функция RecalculatePrice() возратит 224.00, то в переменной Tmp будет целое число(234), без дробной части. Если вам нужна дробная часть, то замените строку:
Tmp = 10 + PriceTotal;
на
Tmp = (10 + PriceTotal).toFixed(2);

Консультировал: Загиров Рустам
Дата отправки: 05.11.2006, 20:29
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Grigory:

Здравствуйте, Alexburzak!
Попробуйте использовать в своих вычислениях функцию parseFloat, поскольку я попробовал Вашу функцию - у меня все работает:

var PriceTotal = parseFloat(RecalculatePrice());

alert(PriceTotal);

var Tmp = 10 + PriceTotal;

alert(Tmp);

Консультировал: Grigory
Дата отправки: 06.11.2006, 01:56
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!


В избранное