Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 04.10.2011, 12:28
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

я пошел через формирование хешей для связки значений первого массива с первым.

массив хешей получился таким
[{v:"width", i:18}, {v:"none", i:74}, {v:"color", i:6}, {v:"border", i:9}, {v:"after", i:32}, {v:"div", i:1}]

дальше я их просто сортирую и получаю это
[{v:"none", i:74}, {v:"after", i:32}, {v:"width", i:18}, {v:"border", i:9}, {v:"color", i:6}, {v:"div", i:1}]

и замещаю каждое значение V хеша в старом массиве.

var ss1=[18,74,6,9,32,1],
    ss2=["width","none","color","border","after","div"];

var res=[];

// формирование хешей.
ss1.map(function(v,i){ res[i]={ v : ss2[i], i : v } });

// сортировка хешей.
res.sort(function(a,b){return b.i-a.i});

// запись в старый массив новых значений
res.map(function(a,i){ss2[i]=a.v});

alert(ss2);



PS. ваый,
Ответить с цитированием
  #12 (permalink)  
Старый 04.10.2011, 15:39
Аспирант
Отправить личное сообщение для stopkran Посмотреть профиль Найти все сообщения от stopkran
 
Регистрация: 12.12.2009
Сообщений: 54

Чё-та не могу понять, зачем все делают массив tmp. Вроде как вот это работает:

var ss1=[18,74,6,9,32,1],
    ss2=["width","none","color","border","after","div"],
    cmp = function(a,b) {return a[1] - b[1]};

for (var i = 0, l = ss2.length; i < l; i ++) {
	ss2[i] = [ss2[i], ss1[i] || 0]
}

ss2.sort(cmp)

alert(ss2.join('; '))

Последний раз редактировалось stopkran, 05.10.2011 в 04:58. Причина: сделал понадёжнее
Ответить с цитированием
  #13 (permalink)  
Старый 04.10.2011, 15:43
Аспирант
Отправить личное сообщение для stopkran Посмотреть профиль Найти все сообщения от stopkran
 
Регистрация: 12.12.2009
Сообщений: 54

melky,
у дураков мысли сходятся! :-) Только у тебя в alert [object Object] вылезет (я из-за этого не хэш новый сделал, а массив). Ну, то есть вылез бы, если бы как я делал, без tmp.

Последний раз редактировалось stopkran, 04.10.2011 в 15:46.
Ответить с цитированием
  #14 (permalink)  
Старый 04.10.2011, 18:10
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от stopkran Посмотреть сообщение
Чё-та не могу понять, зачем все делают массив tmp.
Сообщение от stopkran Посмотреть сообщение
melky,у дураков мысли сходятся! :-)
fuck yeah. чоткая жизненная позиция - "кто не делает так, как я - неправ"



Сообщение от stopkran Посмотреть сообщение
Чё-та не могу понять, зачем все делают массив tmp. Вроде как вот это работает:
какая разница, создать хеш на одно действие, или приписать свойства в элементам массива?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как расставить события neon_tmn jQuery 1 24.08.2011 14:53
Обход массива в строгом порядке nibble Общие вопросы Javascript 35 03.12.2010 13:38