Показать сообщение отдельно
  #11 (permalink)  
Старый 07.01.2015, 17:06
Интересующийся
Отправить личное сообщение для igorz Посмотреть профиль Найти все сообщения от igorz
 
Регистрация: 19.09.2014
Сообщений: 23

Сообщение от Aetae Посмотреть сообщение
var data = [
    ["Name","1"],
    ["Name","2"],
    ["Name","1"],
    ["Name","2"],
    ["Name","1"],
    ["Name","2"],
    ["Name","1"],
    ["Name","2"],
    ["Name","1"],
    ["Name","2"]
];

var sortedArray = [];
for (var i = 0; i < data.length; i++) {
    
    var index = data[i][1] - 1;
    if (!sortedArray[index]){
        sortedArray[index] = [];
    }
    sortedArray[index].push(data[i]);
}

console.log(sortedArray)

Только, как намекнули выше, с сервера стоит получать уже в нужном виде, и не городить лишнего.
igorz, может вместо order by использовать group by, нэ?
Честно, не пробовал с group by
В приведённом примере небольшой прорех, если вставить 5, то результат выйдет:
var data = [["Name","1"],["Name","2"],["Name","1"],["Name","2"],
["Name","5"],["Name","2"],["Name","1"],["Name","3"],["Name","3"],["Name","2"]];

i = 0, Name,1,Name,1,Name,1
i = 1, Name,2,Name,2,Name,2,Name,2
i = 2, Name,3,Name,3
i = 3, undefined
i = 4, Name,5

Но я понял что могу это доделать так, как нужно через .push()/.pop()
Большое спасибо всем за советы.
Ответить с цитированием