Avatar billede mikkels Nybegynder
10. januar 2007 - 21:20 Der er 6 kommentarer og
1 løsning

Multiarray med key og ikke numbers

Hej
Har prøvet på at lave et multidemensionelt array, men har brug for at kunne tilgå arrayet med "navne" og ikke index'er.
Har forsøgt noget a'la:

_root.ordbogsArray["land"]["titel"] = "Country";
_root.ordbogsArray["land"]["description"] = "The country is...";
_root.ordbogsArray["navn"]["titel"] = "Name";
_root.ordbogsArray["navn"]["description"] = "A name is...";
osv. osv.

Dvs. jeg vil gerne kunne tilgå data således:
trace(ordbogsArray["land"]["titel"]);
// Country

men det fungerer ikke...
/Mikkel
Avatar billede mat Nybegynder
10. januar 2007 - 21:52 #1
Hvad med;

arr = [];
arr["a"] = ["b"];
arr["a"]["b"] = "c";
trace(arr["a"]["b"]);

mvh mat
Avatar billede mikkels Nybegynder
10. januar 2007 - 22:11 #2
Hvad så hvis man vil fortsætte med at lave flere inserts i "a"??
Så man også har: arr["a"]["c"]??
Har prøvet med nedenstående, men så overskriver man jo sig selv...
arr = [];
arr["a"] = ["b"];
arr["a"]["b"] = "c";
arr["a"] = ["d"];
arr["a"]["d"] = "e";
trace(arr["a"]["b"]);
Avatar billede mikkels Nybegynder
10. januar 2007 - 22:11 #3
Fejl, mente:
Hvad så hvis man vil fortsætte med at lave flere inserts i "a"??
Så man også har: arr["a"]["d"]??
Har prøvet med nedenstående, men så overskriver man jo sig selv...
arr = [];
arr["a"] = ["b"];
arr["a"]["b"] = "c";
arr["a"] = ["d"];
arr["a"]["d"] = "e";
trace(arr["a"]["b"]);
trace(arr["a"]["d"]);
Avatar billede mat Nybegynder
10. januar 2007 - 22:37 #4
Du er ude i noget dictionary noget?

..ikke at dette er videre gennemtænkt (og gad vide om man ikke kan designe en "nemmere" datastruktur til samme?);

arr = [];
arr["a"] = [];
arr["a"]["b"] = "c";
arr["a"]["d"] = "e";
arr["a"]["f"] = "g";

arr["b"] = [];
arr["b"]["b"] = "h";
arr["b"]["d"] = "i";
arr["b"]["f"] = "j";

trace(arr["a"]["b"]);
trace(arr["a"]["d"]);
trace(arr["a"]["f"]);

trace(arr["b"]["b"]);
trace(arr["b"]["d"]);
trace(arr["b"]["f"]);

trace("arr[\"a\"] props");
for ( prop in arr["a"] ) {
    trace(arr["a"][prop]);
}

trace("arr[\"b\"] props");
for ( prop in arr["b"] ) {
    trace(arr["b"][prop]);
}

mvh mat
Avatar billede mat Nybegynder
10. januar 2007 - 22:57 #5
Med generiske objekter kan du lave noget a la;

land = { titel : "Country" ,
        description : "The country is..." };
navn = { titel : "Name" ,
        description : "A name is..." };
       
dict = { land : land ,
        navn : navn };
       
trace(dict["navn"]["description"]);

Det ser vel en smule pænere ud, eller?

mvh mat
Avatar billede mikkels Nybegynder
12. januar 2007 - 22:09 #6
her kigget lidt på det og kan godt bruge dit forslag med:

arr = [];
arr["a"] = [];
arr["a"]["b"] = "c";
arr["a"]["d"] = "e";
arr["a"]["f"] = "g";

arr["b"] = [];
arr["b"]["b"] = "h";
arr["b"]["d"] = "i";
arr["b"]["f"] = "j";

Men vil da meget gerne høre hvis der er andre der har indvendinger mod det og/eller andre forslag...
Mvh
Mikkel

mat: smider du et svar?
Avatar billede mat Nybegynder
13. januar 2007 - 13:52 #7
aight
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester