2014-10-20 2 views
1

Во-первых, доброе утро.Получить минимум объекта

PreludeLS может получить минимальное значение массива:

[1 2 3 4 5 6 7 8 9 10] |> minimum #=> 1 

Теперь я выясняю способ получить minimum-by в неизвестный ключ. Давайте предположим, что у меня есть объект, называемый A и имеет 3 свойства со значениями 3 поплавковых:

A = 
    A: 3.2 
    B: 4.2 
    C: 4.7 

И я хочу, чтобы вернуть KeyValuePair элемента с более низким значением:

{A: 32} 

I может получить минимум по нескольким объектам этими объектами, имеющими равный индекс. Как я могу получить минимум по неизвестному ключу?

  • Да, я уже прочитал 3 раза LiveScript в документации и в 2 раза PreludeLS документации
+2

Использование только функции прелюдия-LS: '|> OBJ к парам >> (минимум -by (.1)) >> (-> [it]) >> pairs-to-obj' вы можете написать это лучше, если вы определите 'Obj.fold' для вашего дела. – homam

ответ

2
A |> obj-to-pairs |> minimum-by (.1) 
#=> ['A', 3.2] 

A |> obj-to-pairs |> minimum-by (.1) |> -> {(it.0): it.1} 
#=> {A: 3.2} 
Смежные вопросы