IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
style
Člen
Avatar
style:14.2.2015 0:49

Ahoj , mam array objektov

var persons=[
{name:"John",age:20, country:"France"},
{name:"Desperado",age:49, country:"Spain"},
{name:"Klok",age:10, country:"Uganda"}]

do dalsieho arrayu vlozim vek kazdeho objektu a zoradim

var vek=persons.map(function(element){return element.age}).sort(function(a,b){return a-b})

teda array vek ma hodnoty 10,20.49,
Da sa nejakou metodou zistit napriklad meno najmensieho veku? resp vek[0]?
Teda okrem loopovania

 
Odpovědět
14.2.2015 0:49
Avatar
Aleš Lulák
Člen
Avatar
Aleš Lulák:14.2.2015 3:14

Ahoj,

v tom případě si podle mě nepotřebuješ vytvářet nic přes map.

Svojí funkcí v mapu si vracíš pouze age, takže z nového pole, které následně vypadá [10, 20, 49], to vyčíst nelze.

V tomhle případě, pokud chceš nové pole objektů seřazené podle věku, pouze předej a seřaď:

var persons=[
{name:"John",age:20, country:"France"},
{name:"Desperado",age:49, country:"Spain"},
{name:"Klok",age:10, country:"Uganda"}]

var vek = persons.sort(function(a,b){
    var vekA = a.age, vekB = b.age; //tímto určíš podle čeho řadíš
    return vekA-vekB; //a jak
});

alert(vek[0].name); //nejmladsi je tedy první, neboli 0
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
14.2.2015 3:14
"I disapprove of what you say, but I will defend to the death your right to say it" - Evelyn Beatrice Hall
Avatar
shaman
Člen
Avatar
Odpovídá na style
shaman:14.2.2015 13:20

style: nie vo vanilla javascripte. Tvoje riesenie je spravne a jednoduche. Ak chces nieco jednoduchsie, asi je na case sa poobzerat po nejakom javascript frameworku, ktory bude robit pravdepodobne to iste, len ti na to vsetko da jeden prikaz. Ja som si v poslednej dobe vsimol ze dost ludi zacina bocit od jQuery na ine frameworky.
Z toho mi vyplyva ze co sa naucis napriklad v jQuery mozes za par rokov zahodit, ale co sa nacis vo vanilla javascripte bude fungovat aj o desat. :)

Nahoru Odpovědět
14.2.2015 13:20
try {...} catch (Exception ignored) { echo " ¯\_(ツ)_/¯ "; }
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.