Помогите с сортировкой массива
Здравствуйте.
Есть массив [{"idLine":"1","PercentIMG":[{"Napr":"Name1","BySort":"false"},{"Napr":"Name2", "BySort":7}]}, {"idLine":"4","PercentIMG":[{"Napr":"Name1","BySort":22},{"Napr":"Name2","BySo rt":19}]}, {"idLine":"5", "PercentIMG":[{"Napr":"Name1","BySort":7},{"Napr":"Name2","BySor t":5}]}, {"idLine":"6","PercentIMG":[{"Napr":"Name1","BySort":"false"},{"Napr":"Name2", "BySort":12}]}, как его отсортировать по PercentIMG? и PercentIMG может быть любого размер, т.е. Name1, Name2...NameN Надо отсортировать по BySort |
Signal,
:-? подожду телепата |
Цитата:
BySort должен стать первым, если он не false и самый максимальный idLine должен быть отсортирован по наивысшему занчению из PercentIMG |
"PercentIMG": может быть и [{"Napr":"Name1","BySort":"false"},{"Napr":"Name 2", "BySort":7},{"Napr":"Name 3", "BySort":23},{"Napr":"Name 4", "BySort":9} ,{"Napr":"Name 3", "BySort":false}]}
нужен результат "PercentIMG":[{"Napr":"Name 3", "BySort":23}, {"Napr":"Name 4", "BySort":9}, {"Napr":"Name 2", "BySort":7}, {"Napr":"Name1","BySort":"false"}, {"Napr":"Name 3", "BySort":false}] ну и такойже idLine по сортировке в зависимотси от PercentIMG первых записей! |
Signal,
false это строка ? |
Цитата:
|
Signal,
<script> var arr = [{"idLine":"1","PercentIMG":[{"Napr":"Name1","BySort":false},{"Napr":"Name2", "BySort":7}]}, {"idLine":"4","PercentIMG":[{"Napr":"Name1","BySort":22},{"Napr":"Name2","BySort":19}]}, {"idLine":"5", "PercentIMG":[{"Napr":"Name1","BySort":7},{"Napr":"Name2","BySort":5}]}, {"idLine":"6","PercentIMG":[{"Napr":"Name1","BySort":false},{"Napr":"Name2", "BySort":12}]}] ; arr.forEach(function(el) { el = el.PercentIMG; el.sort(function(a,b) { return b.BySort - a.BySort }) }) arr.sort(function(a,b) { return b.PercentIMG[0].BySort - a.PercentIMG[0].BySort }) document.write(JSON.stringify(arr, null, 4)) </script> |
ОО, большое тебе спасибо!!! с меня пиво!!! я не силен в javascripts. еще раз тебе пиво!!!
|
Часовой пояс GMT +3, время: 03:33. |