Autor | Zpráva | ||
---|---|---|---|
nek Profil * |
#1 · Zasláno: 10. 11. 2009, 22:19:47
Ahoj, existuje v JS obdoba array_flip() z PHP?
tedy mam pole array(1 => "a", 2 => "b"); a chci napr. pres pole["b"] pristoupit k hodnote 2. Jak na to? Nemusi to byt primo funkce, beru i nejake slozitejsi reseni, ale presne tohoto potrebuju dosahnout. |
||
Chamurappi Profil |
#2 · Zasláno: 11. 11. 2009, 00:29:16 · Upravil/a: Chamurappi
Reaguji na neka:
V JavaScriptu neexistuje asociativní pole. Existují tu ale obecné objekty, ke kterým lze přistupovat podobně. Můžeme všem polím přidat převracející metodu (funguje ovšem jen jedním směrem): Array.prototype.flip = function() { var result = {}; for(var i = 0; i < this.length; i++) result[this[i]] = i; return result; }; var pole = ["Zase", "někdo", "ignoruje", "žádost", "Prosím používejte diakritiku a interpunkci."]; var převrácenéPole = pole.flip(); alert(převrácenéPole["Prosím používejte diakritiku a interpunkci."]); // vyhodí 4 |
||
Camo Profil |
#3 · Zasláno: 11. 11. 2009, 17:06:53
Chamurappi:
ako to, že: „V JavaScriptu neexistuje asociativní pole.“ To si s niečím mýlim, či mi už preskočilo? |
||
PetrM Profil * |
#4 · Zasláno: 11. 11. 2009, 19:20:59
Možná pomůže http://phpjs.org/functions/array_flip:317
|
||
Časová prodleva: 14 let
|
0