Autor Zpráva
nek
Profil *
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
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;
};
Použití:
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
Chamurappi:
ako to, že:

V JavaScriptu neexistuje asociativní pole.

To si s niečím mýlim, či mi už preskočilo?
PetrM
Profil *
Možná pomůže http://phpjs.org/functions/array_flip:317

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: