Функция сортировки на 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 только долго писать:D) то [0][15][1][14][2][13][3][12][4][11][5][10][6][9][7][8] Подскажите кто знает) Никак алгоритм не могу понять который будет задействован в цикле) Наведите на мысли хотя бы) |
я бы взял и создал второй массив и 2 функции запускающиеся поочереди
одна берет максимальное значение из массива, кладет его в новый массив и удаляет найденный элемент, вторая то-же самое, только с наименьшим элементом. Повторять пока в оригинальном массиве не кончатся элементы |
через split? не получается ) Пробовал массивы разделять,что-то всё равно неверно делаю)
|
При чем тут split?
|
Цитата:
|
Цитата:
И получалось 2 массива к примеру: один с индексами от 0 до 15 второй с индексами от 15 до 31 а потом вставлял поочерёдно как мне надо: 0,31,1,30 и т д а хочется циклом) |
Фу ты какой split,совсем мозги текут,splice конечно
|
а не проще по другому отсортировать массив, чем заморачиваться с таким выводом?
|
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 ) |
nikita.mmf,
Ага, это я и имел в виду. |
Часовой пояс GMT +3, время: 17:24. |