Сортировка многоуровнего обьекта [дубликат]

444
24 ноября 2016, 10:29

На данный вопрос уже ответили:

  • Сортировка объекта в javascript 2 ответа
{
  obj1: [ {value: 10}, {value: 5}, {value: 20},],
  obj2: [ {value: 10}, {value: 7}, {value: 20},],
  obj3: [ {value: 1}, {value: 8}, {value: 10},]
}

Как отсортировать с помощью (underscore или lodash) obj1, obj2, obj2 по самому меньшему значению value в обьектах, массива обьектов, тот obj внутри которого value меньше всего, должен идти на первом месте, то есть в данном примере, должно получится так:

  {
  obj3: [ {value: 1}, {value: 8}, {value: 10},] // тут 1 меньше всего
  obj1: [ {value: 10}, {value: 5}, {value: 20},], // тут 5 на второе место
  obj2: [ {value: 10}, {value: 7}, {value: 20},] // тут 7 на третье место     
}
Answer 1

сортировать ключи в объекте бесполезная затея, но если что, вот код

_.chain(obj)
    .transform(function(result, val, key) {
        result.push({
            key: key,
            vals: val
        });
    }, [])
    .sortBy(function(item) {
        return _.chain(item.vals)
            .map('value')
            .min()
            .value();
    })
    .transform(function(result, val) {
        result[val.key] = val.vals;
    }, {})
    .value();

Fiddle https://jsfiddle.net/stasovlas/kw3jxxua/2/

результат

{"obj3":[{"value":1},{"value":8},{"value":10}],
"obj1":[{"value":10},{"value":5},{"value":20}],
"obj2":[{"value":10},{"value":7},{"value":20}]}
READ ALSO
Как узнать полный путь к html элементу?

Как узнать полный путь к html элементу?

У меня есть функция, которая вызывается при нажатии на какой-либо элементИ внутри этой функции я могу обращаться к нему

604
двойной клик для сохранения картинки

двойной клик для сохранения картинки

здравствуйте, есть картинка <img src='imgpng' download> , есть ли какой то лайф-хак, чтобы картинка скачивалась не при обычном клике, а при двойном?

478