06.12.2016, 23:35
|
Кандидат Javascript-наук
|
|
Регистрация: 03.05.2016
Сообщений: 137
|
|
Помогите с сортировкой массива
Здравствуйте.
Есть массив
[{"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, 06.12.2016 в 23:48.
|
|
07.12.2016, 00:03
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,121
|
|
Signal,
подожду телепата
|
|
07.12.2016, 00:26
|
Кандидат Javascript-наук
|
|
Регистрация: 03.05.2016
Сообщений: 137
|
|
Сообщение от рони
|
Signal,
подожду телепата
|
телепатирую, нужно отсортировать "PercentIMG":[{"Napr":"Name1","BySort":"false"},{"Napr":"Name 2", "BySort":7}]},
BySort должен стать первым, если он не false и самый максимальный
idLine должен быть отсортирован по наивысшему занчению из PercentIMG
|
|
07.12.2016, 00:28
|
Кандидат Javascript-наук
|
|
Регистрация: 03.05.2016
Сообщений: 137
|
|
"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, 07.12.2016 в 00:32.
|
|
07.12.2016, 00:39
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,121
|
|
Signal,
false это строка ?
|
|
07.12.2016, 00:44
|
Кандидат Javascript-наук
|
|
Регистрация: 03.05.2016
Сообщений: 137
|
|
Сообщение от рони
|
Signal,
false это строка ?
|
нет это boolean, просто json сделал как строка я ее и скопировал сюда
|
|
07.12.2016, 00:51
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,121
|
|
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>
|
|
07.12.2016, 01:05
|
Кандидат Javascript-наук
|
|
Регистрация: 03.05.2016
Сообщений: 137
|
|
ОО, большое тебе спасибо!!! с меня пиво!!! я не силен в javascripts. еще раз тебе пиво!!!
|
|
|
|