Форум dkLab и Denwer
Здесь общаются Web-разработчики.
Генеральный спонсор:
Хостинг «Джино»

Сортировка массива, с перемещением сразу нескольких элементов (, оценка: 1)
Author Message
Александр Михалицын
Модератор



Joined: 23 May 2008
Posts: 1299
Карма: 83
   поощрить/наказать


PostPosted: Thu Nov 12, 2009 6:57 pm ()
   Post subject:
Reply with quote


М

Выделено из темы «перетасовка элементов массива без цикла»,
расположенной в форуме Склад готовых решений :: JavaScript (13 Ноября 2009, 11:13).
Back to top
View user's profile Send private message Send e-mail
Guest






Карма: 388
   поощрить/наказать


PostPosted: Thu Nov 12, 2009 6:57 pm (спустя 1 секунду; написано за 4 секунды)
   Post subject:
Reply with quote

Не подскажите как сделать более трудную сортировку в массиве когда надо менять местами не 2 объекта, а сразу несколько, скажем массив:

var n1 = new Array(
'товарА', 'цена1', 'производительА',
'товарБ', 'цена2', 'производительБ',
'товарВ', 'цена3', 'производительВ',
'товарГ', 'цена4', 'производительГ'
);


в котором сортировка сама по себе идёт по названию товара, отсортировать по цене
Back to top
Александр Михалицын
Модератор



Joined: 23 May 2008
Posts: 1299
Карма: 83
   поощрить/наказать


PostPosted: Fri Nov 13, 2009 8:17 am (спустя 13 часов 19 минут; написано за 1 минуту 12 секунд)
   Post subject:
Reply with quote

Гость,
во-первых,
не стоило писать вопрос в "складе".

во-вторых,
это плохая идея, лучше поместите свои три элемента в отдельных массивы,
и уже их (массивы) сортируйте.
Back to top
View user's profile Send private message Send e-mail
Guest






Карма: 388
   поощрить/наказать


PostPosted: Fri Nov 13, 2009 11:22 am (спустя 3 часа 5 минут; написано за 55 секунд)
   Post subject:
Reply with quote

1) сообщение было в разделе ява скриптом в схожей по смыслу теме

2) мм т.е в отдельные? тогда ведь пункты "название товара" - "цена" не будут совпадать.
Back to top
Александр Михалицын
Модератор



Joined: 23 May 2008
Posts: 1299
Карма: 83
   поощрить/наказать


PostPosted: Fri Nov 13, 2009 2:04 pm (спустя 2 часа 41 минуту; написано за 2 минуты 21 секунду)
   Post subject:
Reply with quote

Anonymous wrote:
1) сообщение было в разделе ява скриптом в схожей по смыслу теме
forum.dklab.ru/viewtopic.php?t=10992
В "складе" даже обсуждения не приветствуются.
Quote:
2) мм т.е в отдельные? тогда ведь пункты "название товара" - "цена" не будут совпадать.
Code (JavaScript): скопировать код в буфер обмена
var n1 = [
        ['товарА', 'цена1', 'производительА'],
        ['товарБ', 'цена2', 'производительБ'],
        ['товарВ', 'цена3', 'производительВ'],
        ['товарГ', 'цена4', 'производительГ']
];
Back to top
View user's profile Send private message Send e-mail
Guest






Карма: 388
   поощрить/наказать


PostPosted: Fri Nov 13, 2009 5:57 pm (спустя 3 часа 52 минуты; написано за 13 секунд)
   Post subject:
Reply with quote

ок, как тогда в таком варианте отсортировать?
Back to top
Rumata
Профессионал



Joined: 17 Aug 2003
Posts: 1850
Карма: 185
   поощрить/наказать


PostPosted: Fri Nov 13, 2009 6:34 pm (спустя 36 минут; написано за 3 минуты 7 секунд)
   Post subject:
Reply with quote

Code (JavaScript): скопировать код в буфер обмена
var sorter = function(a, b)
{
        // функция сортировки, которая определяет соотношение двух элементов внешнего массива
};

n1.sort(sorter);
Все вам разжевывать надо. Когда же вы научитесь думать самостоятельно и читать документацию, книжки, искать источники с ответами на ваши вопросы.
Back to top
View user's profile Send private message
Guest






Карма: 388
   поощрить/наказать


PostPosted: Sat Nov 14, 2009 8:16 am (спустя 13 часов 42 минуты; написано за 28 секунд)
   Post subject:
Reply with quote

спасибо!

книжки длинные, занудные и не всегда найдёшь то что ищеш
Back to top
dimagolov
Участник форума



Joined: 04 Feb 2007
Posts: 1664
Карма: 96
   поощрить/наказать

Location: Christ Church, Barbados

PostPosted: Sat Nov 14, 2009 10:57 am (спустя 2 часа 40 минут; написано за 50 секунд)
   Post subject:
Reply with quote

а почему не посоветовали
Code (SQL): скопировать код в буфер обмена
...
ORDER BY `name`, `price`
или я не правильно понял фразу "в котором сортировка сама по себе идёт по названию товара, отсортировать по цене"?
Back to top
View user's profile Send private message
Guest






Карма: 388
   поощрить/наказать


PostPosted: Sat Nov 14, 2009 11:27 am (спустя 30 минут; написано за 9 секунд)
   Post subject:
Reply with quote

тема по ява сортировке, а не mysql
Back to top
Guest






Карма: 388
   поощрить/наказать


PostPosted: Sat Nov 14, 2009 4:30 pm (спустя 5 часов 3 минуты; написано за 35 секунд)
   Post subject:
Reply with quote

хех, спасиб ребят разобрался!
Quote:
<script>
var n1 = [
        ['товарВ', '5', 'производительВ<br>'],
        ['товарА', '1', 'производительА<br>'],
        ['товарБ', '4', 'производительБ<br>'],
        ['товарГ', '3', 'производительГ<br>']
];



var sorter = function(a, b)
{
        if (a[1]>b[1]) {return 1;} else {return -1;}
};

var x=n1.sort(sorter);

document.write(x);
</script>
где вместо 1 в a[1] и b[1], указывается элемент массива по которому сортируем
Back to top
dimagolov
Участник форума



Joined: 04 Feb 2007
Posts: 1664
Карма: 96
   поощрить/наказать

Location: Christ Church, Barbados

PostPosted: Sat Nov 14, 2009 10:30 pm (спустя 5 часов 59 минут; написано за 57 секунд)
   Post subject:
Reply with quote

Code (php): скопировать код в буфер обмена
var sorter = function(a, b)
{
        return a[1] > b[1] ? 1 : -1;
};
:)
Back to top
View user's profile Send private message
Александр Михалицын
Модератор



Joined: 23 May 2008
Posts: 1299
Карма: 83
   поощрить/наказать


PostPosted: Mon Nov 16, 2009 4:49 pm (спустя 1 день 18 часов 18 минут)
   Post subject:
Reply with quote


М

Добавляю теме один балл, чтобы вопрос потом не повторился.

Тема закрыта.
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   This topic is locked: you cannot edit posts or make replies. All times are GMT + 3 Hours
Page 1 of 1    Email to a Friend.
You cannot post new topics in this forum. You cannot reply to topics in this forum. You cannot edit your posts in this forum. You cannot delete your posts in this forum. You cannot vote in polls in this forum. You cannot attach files in this forum. You can download files in this forum.
XML