- Код: Выделить всё
var picArray = new Array(
{ttl:"red_pepper", pic:"red_pepper_04.jpg"},
{ttl:"zolushka", pic:"zolushka_1.jpg"},
{ttl:"zolushka", pic:"zolushka_6.jpg"},
{ttl:"dimiz", pic:"dimiz_01.jpg"},
{ttl:"dimiz", pic:"dimiz_02.jpg"},
{ttl:"dimiz", pic:"dimiz_03.jpg"},
{ttl:"muromec", pic:"muromec_06.jpg"},
{ttl:"zolushka", pic:"zolushka_5.jpg"},
{ttl:"zolushka", pic:"zolushka_2.jpg"},
{ttl:"zolushka", pic:"zolushka_3.jpg"},
{ttl:"kabelina", pic:"kabelina_03.jpg"},
{ttl:"zolushka", pic:"zolushka_4.jpg"},
{ttl:"zolushka", pic:"zolushka_7.jpg"},
{ttl:"red_pepper", pic:"red_pepper_01.jpg"},
{ttl:"red_pepper", pic:"red_pepper_02.jpg"},
{ttl:"zolushka", pic:"zolushka_8.jpg"},
{ttl:"zolushka", pic:"zolushka_9.jpg"},
{ttl:"fealko", pic:"fealko_01.jpg"},
{ttl:"panzir", pic:"panzir_05.jpg"},
{ttl:"panzir", pic:"panzir_04.jpg"},
{ttl:"panzir", pic:"panzir_02.jpg"},
{ttl:"panzir", pic:"panzir_01.jpg"},
{ttl:"muromec", pic:"muromec_05.jpg"},
{ttl:"fealko", pic:"fealko_02.jpg"},
//... и т.д.
{pic:"", ttl:""}
);
он содержит ники пользователей и src их фоток. как можно видеть ники могут повторяться но src все разные.
следующей функцией я надеюсь выстроить список-меню ссылок на эти фотки предварительно пересортировав массив так чтобы ники шли в алфавитном поряке а src каждой фотки прописанное в онклик ссылок с одинаковыми никами - в порядке возрастания.
- Код: Выделить всё
function buildList(){
// обрезается последний элемент массива т.к. он пустой и
// используется только как средство борьбы с последней
// ненужной запятой - короче то не имеет отношения к вопросу
picArray.pop();
// теперь вродекаг должна быть сортировка
// которая не происходит нужным образом
picArray.sort();
// дальше - построение списка ссылок
// которое видимо не имеет отношения к вопросу тоже
var menu = document.getElementById("menu");
for(var i = 0; i < picArray.length; i++){
var pic = picArray[i]["pic"];
var ttl = picArray[i]["ttl"];
var lnk = document.createElement("a");
lnk.setAttribute("href","#null");
lnk.innerHTML = ttl;
lnk.onfocus = function(){this.blur();};
eval("lnk.onclick = function(){showPic('" + pic + "');}");
menu.appendChild(lnk);
var br = document.createElement("br");
menu.appendChild(br);
}
if(menu.offsetHeight > parseInt(document.body.clientHeight*0.8)){
menu.style.height = parseInt(document.body.clientHeight*0.8) + "px";
menu.style.overflow = "auto";
}
menu.style.top = parseInt(document.body.clientHeight/2 - menu.offsetHeight*0.5) + "px";
}
вопрос: как правильно пересортировать массив?