У меня есть следующий массив:Javascript упорядочения элементов в массиве объектов
[{"cod_nivel":"INC2","cod_modelo":"D"},
{"cod_nivel":"INC2","cod_modelo":"B"},
{"cod_nivel":"PRIM","cod_modelo":"B"},
{"cod_nivel":"PRIM","cod_modelo":"D"},
{"cod_nivel":"PRIM2","cod_modelo":"B"},
{"cod_nivel":"PRIM2","cod_modelo":"D"},
{"cod_nivel":"PRIM2","cod_modelo":"A"}]
Мне нужно заказать этот массив объектов по «cod_modelo» по возрастанию сгруппированных по «cod_nivel». Таким образом, результат должен быть:
[{"cod_nivel":"INC2","cod_modelo":"B"},
{"cod_nivel":"INC2","cod_modelo":"D"},
{"cod_nivel":"PRIM","cod_modelo":"B"},
{"cod_nivel":"PRIM","cod_modelo":"D"},
{"cod_nivel":"PRIM2","cod_modelo":"A"},
{"cod_nivel":"PRIM2","cod_modelo":"B"},
{"cod_nivel":"PRIM2","cod_modelo":"D"}]
Мой attemp:
var array = [{"cod_nivel":"INC2","cod_modelo":"D"},
{"cod_nivel":"INC2","cod_modelo":"B"},
{"cod_nivel":"PRIM","cod_modelo":"B"},
{"cod_nivel":"PRIM","cod_modelo":"D"},
{"cod_nivel":"PRIM2","cod_modelo":"B"},
{"cod_nivel":"PRIM2","cod_modelo":"D"},
{"cod_nivel":"PRIM2","cod_modelo":"A"}];
var groups = {}; // I know i need some temp object to store the current level that is being ordered..
for (var i = 0; i < array.length; i++) {
groups.push(array[i]);
}
мне кажется вам нужно проверить 'cod_nivel' первый – Grundy
да, но не сгруппированы по cod_nivel после заказа его cod_modelo. Он должен быть сгруппирован по cod_nivel (они должны быть один за другим объектами одного и того же cod_nivel) – Egidi
Извините, я интерпретировал вопрос, поскольку нужно сначала сортировать 'cod_modelo'. Я обновлю. –