Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.04.2013, 17:32
Интересующийся
Отправить личное сообщение для Black Dragon Посмотреть профиль Найти все сообщения от Black Dragon
 
Регистрация: 17.12.2011
Сообщений: 13

Функция сортировки на js
Подскажите пожалуйста, может знает кто. Как отсортировать массив(многомерный) вида:
var team = [
["team1",300],
["team2",800],
["team3",900],
["team4",1000]]
(сортируем конечно же по числовому значению)
Допустим, он уже отсортирован по возрастанию:
function new(a, b) { 
    if (a[1] > b[1])
        return 1;
    else if (a[1] < b[1])
        return -1;
    else
        return 0;
}

team.sort(new)


Можно ли сделать так чтобы индексы массива шли таким образом:
если длина массива=16(ну на самом деле там 1024 только долго писать) то
[0][15][1][14][2][13][3][12][4][11][5][10][6][9][7][8]
Подскажите кто знает) Никак алгоритм не могу понять который будет задействован в цикле) Наведите на мысли хотя бы)
Ответить с цитированием
  #2 (permalink)  
Старый 18.04.2013, 17:36
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

я бы взял и создал второй массив и 2 функции запускающиеся поочереди

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

Повторять пока в оригинальном массиве не кончатся элементы
Ответить с цитированием
  #3 (permalink)  
Старый 18.04.2013, 17:38
Интересующийся
Отправить личное сообщение для Black Dragon Посмотреть профиль Найти все сообщения от Black Dragon
 
Регистрация: 17.12.2011
Сообщений: 13

через split? не получается ) Пробовал массивы разделять,что-то всё равно неверно делаю)
Ответить с цитированием
  #4 (permalink)  
Старый 18.04.2013, 17:39
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

При чем тут split?
Ответить с цитированием
  #5 (permalink)  
Старый 18.04.2013, 17:41
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

Сообщение от Black Dragon
new
это у вас переменная?
Ответить с цитированием
  #6 (permalink)  
Старый 18.04.2013, 17:44
Интересующийся
Отправить личное сообщение для Black Dragon Посмотреть профиль Найти все сообщения от Black Dragon
 
Регистрация: 17.12.2011
Сообщений: 13

Сообщение от tsigel Посмотреть сообщение
При чем тут split?
Ну я делил уже отсортированный массив пополам
И получалось 2 массива
к примеру:
один с индексами от 0 до 15
второй с индексами от 15 до 31
а потом вставлял поочерёдно как мне надо:
0,31,1,30 и т д
а хочется циклом)
Ответить с цитированием
  #7 (permalink)  
Старый 18.04.2013, 17:48
Интересующийся
Отправить личное сообщение для Black Dragon Посмотреть профиль Найти все сообщения от Black Dragon
 
Регистрация: 17.12.2011
Сообщений: 13

Фу ты какой split,совсем мозги текут,splice конечно
Ответить с цитированием
  #8 (permalink)  
Старый 18.04.2013, 17:50
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

а не проще по другому отсортировать массив, чем заморачиваться с таким выводом?
Ответить с цитированием
  #9 (permalink)  
Старый 18.04.2013, 17:52
Профессор
Отправить личное сообщение для nikita.mmf Посмотреть профиль Найти все сообщения от nikita.mmf
 
Регистрация: 01.02.2010
Сообщений: 364

var list = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15];
var res = [], 
	first = true;
while ( list.length ) {
	res.push( first ? list.shift() : list.pop() );
	first = !first;
}
alert( res )
Ответить с цитированием
  #10 (permalink)  
Старый 18.04.2013, 17:53
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

nikita.mmf,
Ага, это я и имел в виду.
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не вызывается JS функция на onClick sukubba Общие вопросы Javascript 2 26.12.2012 18:23
Функция поиска на JS [PC]Contra Общие вопросы Javascript 2 24.10.2012 21:00
Как сохранить выбор сортировки на JS после обновления страницы? deeand Общие вопросы Javascript 5 18.05.2012 16:22
JS функция не возращает параметр .. Arfey Общие вопросы Javascript 2 10.06.2010 13:19
Не вызывается функция из внешнего js Danie Ваши сайты и скрипты 6 14.10.2009 11:19