Страницы: 1
нужна помощь.
нужно отсортировать один массив по другмоу:
comp = function(a, b) { return (a == b) ? 0 : (a > b) ? 1 : -1; } var c = [[2,3,1],['pit','mike','igor']]; c[1].sort(function(a, b) {return comp(a, b)});
в данном случае в comp в виде параметров a и b попадут элементы массива c[1]. можно ли сделать так, чтобы в comp попадали элементы массива c[0]? в итоге я хочу получить
Отредактировано maxmets (21-06-2007 18:14:16)
Отсутствует
в данном случае в comp в виде параметров a и b попадут элементы массива c[1]. можно ли сделать так, чтобы в comp попадали элементы массива c[0]?
хм, вы же сами вызываете
что я не понимаю...
Отсутствует
я вызываю сортировку массива c[1], т.е. именно его я и хочу отсортировать. но хочу, чтоб сравнивались при этом не элементы его же самого, а элементы c[0].
если все оставить именно так, то в результате получится сортировка имен по алфавиту. а я хочу, чтоб имена отсортировались по соответствующим им порядковым номерам.
в данном случае в comp в виде параметров a и b попадут элементы массива c[1]. можно ли сделать так, чтобы в comp попадали элементы массива c[0]?
хм, вы же сами вызываете
что я не понимаю...
Отсутствует
function comp (a, b) { return(a==b)? 0: ((a>b)? 1: -1); } var c = [[2, 3, 1], ['pit', 'mike', 'igor']]; c [1]. sort ( function (a, b) { return comp (c [0] [c [1]. indexOf (a)], c [0] [c [1]. indexOf (b)]); } ); c [0]. sort (comp);
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
есть такой вариант, но если массивы увеличить до 2000 в каждом, по времени будет слишком дорогая операция
Выделить кодКод:
function comp (a, b) { return(a==b)? 0: ((a>b)? 1: -1); } var c = [[2, 3, 1], ['pit', 'mike', 'igor']]; c [1]. sort ( function (a, b) { return comp (c [0] [c [1]. indexOf (a)], c [0] [c [1]. indexOf (b)]); } ); c [0]. sort (comp);
Отсутствует
По-моему, проще привести этот массив к нормальному виду
Isn't it ironic... don't you think? — Alanis Morissette
Отсутствует
Страницы: 1