Válí se ti projekty v šuplíku? Dostaň je mezi lidi a získej cool tričko a body na profi IT kurzy v soutěži ITnetwork summer 2017!
Přidej si svou IT školu do profilu a najdi spolužáky zde na síti :)
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í
+1 bodů
Ř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  +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.