Пересобрать массив (JS)

Станислав
На сайте с 27.12.2009
Offline
258
715

Есть массив

var arr = [ { num: 'iv', group: 'p', title: '1' },

{ num: 'v', group: 'p', title: '3' },
{ num: 'iv', group: 'n', title: '4' },
{ num: 'iv', group: 'm', title: '6' },
{ num: 'vi', group: 'p', title: '7' } ];

Нужно его пересобрать чтобы получить

[	[{ num: 'iv', group: 'p', title: '1' },

{ num: 'iv', group: 'n', title: '4' },
{ num: 'iv', group: 'm', title: '6' }],

[{ num: 'v', group: 'p', title: '3' }],

[{ num: 'vi', group: 'p', title: '7' }]
]

Т.е. распределить объекты по значению поля num

Мы там, где рады нас видеть.
Mad_Man
На сайте с 10.11.2008
Offline
162
#1

1. Тырим в гугле конвертер в арабские цифры по типу http://blog.stevenlevithan.com/archives/javascript-roman-numeral-converter.

2. Сортируем по числовому полю.

Станислав
На сайте с 27.12.2009
Offline
258
#2
Mad_Man:
1. Тырим в гугле конвертер в арабские цифры по типу http://blog.stevenlevithan.com/archives/javascript-roman-numeral-converter.
2. Сортируем по числовому полю.

Что то там намучено слишком сильно, и нифига не понятно =)

siv1987
На сайте с 02.04.2009
Offline
427
#3


var arr2 = [];
for(var i=0, m=[]; i<arr.length; i++){
var row = arr;
var k = m.indexOf(row.num);
if(k == -1){
m.push(row.num);
k = m.length - 1;
arr2[k] = [];
}
arr2[k].push(row);
}

console.log(arr2);

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий