/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
udfylde multidimensionelt array
Fra : Kim Emax


Dato : 03-12-08 08:39

hejsa

Er der en nemmere måde at fylde et multidimensionelt array ud end
dette?:

   var help_array = new Array("t1", "t2")
   help_array["t1"] = new Array("headline", "text")
   help_array["t1"]["headline"] = "Name"
   help_array["t1"]["text"] = "my private info"

   help_array["t2"] = new Array("headline", "text")
   help_array["t2"]["headline"] = "Password"
   help_array["t2"]["text"] = "my Password info"

jeg ville gerne lave noget ala phps:

var help_array = new Array(
"t1" = new Array("headline"=>"Name", "text" => "my private info",
"t2" = new Array("headline"=>"Password", "text" => "my Password
info")
)

Men kunne ikke få det til at spille... og ikke finde noget ved
googling.

--
Mhv
Kim Emax

 
 
Lasse Reichstein Nie~ (03-12-2008)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 03-12-08 17:47

Kim Emax <kimemax@gmail.com> writes:

> Er der en nemmere måde at fylde et multidimensionelt array ud end
> dette?:
>
>    var help_array = new Array("t1", "t2")
>    help_array["t1"] = new Array("headline", "text")
>    help_array["t1"]["headline"] = "Name"
>    help_array["t1"]["text"] = "my private info"
>
>    help_array["t2"] = new Array("headline", "text")
>    help_array["t2"]["headline"] = "Password"
>    help_array["t2"]["text"] = "my Password info"

Jeg tror ikke det betyder det du tror det betyder :)
Det jeg tror du vil have fat i er:
var help_array = {
t1: {headline: "Name", text: "my private info"},
t2: {headline: "Password", text: "my Password info"}
};

Det du *faktisk* laver er et array med to indgange (0 og 1) som
indeholde strengene "t1" og "t2". Derefter tilføjer du
to andre egenskaber der hedder "t1" og "t2", ganske urelateret
til de to array-indgange.
Altså:
help_array[0] == "t1"
help_array[1] == "t2"
help_array["t1"] = ...
help_array["t2"] = ...

> jeg ville gerne lave noget ala phps:
>
> var help_array = new Array(
> "t1" = new Array("headline"=>"Name", "text" => "my private info",
> "t2" = new Array("headline"=>"Password", "text" => "my Password
> info")
> )

I Javascript er det Object man typisk bruger til den slags, ikke
Array (der er ikke brug for Arrays specielle funktionalitet der
kun virker på tal-indices, fx a[2] og a[4])

/L
--
Lasse Reichstein Holst Nielsen
DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'

Lasse Reichstein Nie~ (05-12-2008)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 05-12-08 06:59

Kim Emax <kimemax@gmail.com> writes:

> On Dec 3, 5:47 pm, Lasse Reichstein Nielsen <lrn.unr...@gmail.com>
> wrote:
>
>> >    var help_array = new Array("t1", "t2")
>> >    help_array["t1"] = new Array("headline", "text")
>> >    help_array["t1"]["headline"] = "Name"
>
>> Jeg tror ikke det betyder det du tror det betyder :)
>
> printer jeg help_array["t1"]["headline"] får jeg "Name", så det gør,
> hvad jeg vil.

Ja, men det gør *mere* end du vil!
Du kunne lige så godt skrive:
var help_array = new Object();
help_array["t1"] = new Object();
help_array["t1"]["headline"] = "Name";
etc.
Det giver ikke noget at oprette holder-objekterne som arrays,
og slet ikke arrays med array-indhold.


> Som jeg forstod den dokumentation jeg læste om arrays så skal det
> deklareres først med new Array før man kan hælde ting i det,

Den sagde, måske, noget i stil med:
var array = new Array(4);
Det laver et nyt array med start-størrelse 4.
Array-konstruktoren opfører sig specielt når den får netop et argument
som er et tal.

Det er dog som oftest spild at angive en startstørrelse, når man
alligevel skriver
array[3] = something
senere. Det vil dynamisk sætte størrelsen til 4.

Jeg vil normalt bruge den korte form til at skabe et nyt array:
var help_array = [];
eller et objekt:
var help_array = {};
(og gerne med data skrevet direkte i array/object-literal'en)

> men jeg kan se at det nok med new Array().

Eller "new Object", når du alligevel ikke bruger tal som index.

/L
--
Lasse Reichstein Holst Nielsen
DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'

Jørgen Farum Jensen (03-12-2008)
Kommentar
Fra : Jørgen Farum Jensen


Dato : 03-12-08 18:16

Kim Emax skrev:
> hejsa
>
> Er der en nemmere måde at fylde et multidimensionelt array ud end
> dette?:

Det kan være at du kan bruge nedennævnte eksperiment
til noget (kig i kildekoden)
http://733.dk/usenet/planetarray.html


--

Med venlig hilsen
Jørgen Farum Jensen
Håndbog i webdesign: http://webdesign101.dk/wwwbog/udgave2/
Webdesign med stylesheets: http://webdesign101.dk/cssbog/
..

Kim Emax (04-12-2008)
Kommentar
Fra : Kim Emax


Dato : 04-12-08 00:05

On Dec 3, 5:47 pm, Lasse Reichstein Nielsen <lrn.unr...@gmail.com>
wrote:

> >    var help_array = new Array("t1", "t2")
> >    help_array["t1"] = new Array("headline", "text")
> >    help_array["t1"]["headline"] = "Name"

> Jeg tror ikke det betyder det du tror det betyder :)

printer jeg help_array["t1"]["headline"] får jeg "Name", så det gør,
hvad jeg vil.

> Det jeg tror du vil have fat i er:
>  var help_array = {
>    t1: {headline: "Name", text: "my private info"},
>    t2: {headline: "Password", text: "my Password info"}
>  };

Det virker i hvert fald, og er enklere at udfylde, så det vil jeg
bruge i stedet.

> Det du *faktisk* laver er et array med to indgange (0 og 1) som
> indeholde strengene "t1" og "t2". Derefter tilføjer du
> to andre egenskaber der hedder "t1" og "t2", ganske urelateret
> til de to array-indgange.
> Altså:
>  help_array[0] == "t1"
>  help_array[1] == "t2"
>  help_array["t1"] = ...
>  help_array["t2"] = ...

Som jeg forstod den dokumentation jeg læste om arrays så skal det
deklareres først med new Array før man kan hælde ting i det, men jeg
kan se at det nok med new Array().

Anyways, tak for dine inputs.

--
Mvh
Kim Emax

Kim Emax (04-12-2008)
Kommentar
Fra : Kim Emax


Dato : 04-12-08 00:06

On Dec 3, 6:15 pm, Jørgen Farum Jensen <jfjen...@yahoo.dk> wrote:

> Det kan være at du kan bruge nedennævnte eksperiment
> til noget (kig i kildekoden)http://733.dk/usenet/planetarray.html

Det ser interessant ud, det kan sagtens bruges en anden gang. Tak for
input.

--
Mvh
Kim Emax

Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste