Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Работа с массивами. Требуется помощь. (https://javascript.ru/forum/misc/14967-rabota-s-massivami-trebuetsya-pomoshh.html)

Кристи 07.02.2011 21:31

Работа с массивами. Требуется помощь.
 
Дан массив http://domen-name.ru/xxx.txt
вида:

[10252483,6,"Mk3A1",0],[10237992,9,"X2i1L5",1023,"example|http://example.ru"], и т.д.

[id элемента, размер элемента, "название элемента", id параметра элемента, "название параметра|url параметра|"]... (последний параметр присутствует, если id параметра элемента не равно 0.

Требуется без использования php выводить на страницу информацию из массива в слегка видоизмененной форме:

Mk3A1 [6] <a target=_blank href='http://domen-name.ru/info.php?id=10252483'><img src='images/ico_info.gif' border=0></a><br>

<img src='/images/img/1023.png' border=0> X2i1L5 [9] <a target=_blank href='http://domen-name.ru/info.php?id=10237992'><img src='images/ico_info.gif' border=0></a><br>

И затем сортировать информацию:
1) по id параметров элементов по возрастанию
потом
2) по размера элементов.

Обычно писала на php, но нужда заставила работать на хостинге с запрещенным php. А JS для меня - темный лес. Приму любую помощь =))

SV0L0CH 08.02.2011 12:34

var arr=JSON.parse(txt);
var arr1=[].concat(arr).sort(function(a,b){return a[0]-b[0]});
var arr2=[].concat(arr).sort(function(a,b){return a[1].length-b[1].length});
//а тут форматировать и выводить

Кристи 08.02.2011 17:30

SV0L0CH,

Спасибо. А можно еще чуть подробней? Если не сложно конечно.

SV0L0CH 08.02.2011 18:00

Подробности искать в спецификации ECMAScript262 по словам JSON.parse Array.prototype.concat Array.prototype.sort


Часовой пояс GMT +3, время: 06:13.