Сообщение от 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()
Большое спасибо всем за советы.