Avatar
style
Člen
Avatar
style:

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:

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í
+1 bodů
Řešení problému
Nahoru Odpovědět 14.2.2015 3:14
Jsem hloupý člověk, proto se musím vzdělávat
Avatar
shaman
Člen
Avatar
Odpovídá na style
shaman:

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  +1 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.